On Mon, 13 Apr 2015 12:16:31 -0700 Vignesh Venkatasubramanian <vigne...@google.com> wrote:
> Add a missing failure check for av_malloc call. > > Signed-off-by: Vignesh Venkatasubramanian <vigne...@google.com> > --- > libavformat/webmdashenc.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/libavformat/webmdashenc.c b/libavformat/webmdashenc.c > index c5347a9..80266f7 100644 > --- a/libavformat/webmdashenc.c > +++ b/libavformat/webmdashenc.c > @@ -87,7 +87,7 @@ static double get_duration(AVFormatContext *s) > return max / 1000; > } > > -static void write_header(AVFormatContext *s) > +static int write_header(AVFormatContext *s) > { > WebMDashMuxContext *w = s->priv_data; > double min_buffer_time = 1.0; > @@ -110,6 +110,7 @@ static void write_header(AVFormatContext *s) > struct tm gmt_buffer; > struct tm *gmt = gmtime_r(&local_time, &gmt_buffer); > char *gmt_iso = av_malloc(21); > + if (!gmt_iso) return AVERROR(ENOMEM); There is absolutely no reason why it should use malloc for 21 bytes. I'm really wondering why you're adding a failure path instead of just turning it into a stack allocation?????? > strftime(gmt_iso, 21, "%Y-%m-%dT%H:%M:%SZ", gmt); > if (w->debug_mode) { > av_strlcpy(gmt_iso, "", 1); > @@ -124,6 +125,7 @@ static void write_header(AVFormatContext *s) > w->utc_timing_url ? w->utc_timing_url : gmt_iso); > av_free(gmt_iso); > } > + return 0; > } > > static void write_footer(AVFormatContext *s) > @@ -456,7 +458,7 @@ static int > webm_dash_manifest_write_header(AVFormatContext *s) > double start = 0.0; > WebMDashMuxContext *w = s->priv_data; > parse_adaptation_sets(s); > - write_header(s); > + if (write_header(s) < 0) return -1; > avio_printf(s->pb, "<Period id=\"0\""); > avio_printf(s->pb, " start=\"PT%gS\"", start); > if (!w->is_live) { _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel