ffmpeg | branch: master | Michael Niedermayer <michae...@gmx.at> | Thu Jan 22 13:54:26 2015 +0100| [f77571f6bb5a252e09fc47049b0c61cc11559fad] | committer: Michael Niedermayer
avfilter/drawutils: Check for av_malloc* failures Signed-off-by: Michael Niedermayer <michae...@gmx.at> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f77571f6bb5a252e09fc47049b0c61cc11559fad --- libavfilter/drawutils.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libavfilter/drawutils.c b/libavfilter/drawutils.c index ac30db2..0b2f17e 100644 --- a/libavfilter/drawutils.c +++ b/libavfilter/drawutils.c @@ -76,6 +76,8 @@ int ff_fill_line_with_color(uint8_t *line[4], int pixel_step[4], int w, uint8_t dst_color[rgba_map[i]] = rgba_color[i]; line[0] = av_malloc_array(w, pixel_step[0]); + if (!line[0]) + return AVERROR(ENOMEM); for (i = 0; i < w; i++) memcpy(line[0] + i * pixel_step[0], dst_color, pixel_step[0]); if (rgba_map_ptr) @@ -95,6 +97,11 @@ int ff_fill_line_with_color(uint8_t *line[4], int pixel_step[4], int w, uint8_t pixel_step[plane] = 1; line_size = FF_CEIL_RSHIFT(w, hsub1) * pixel_step[plane]; line[plane] = av_malloc(line_size); + if (!line[plane]) { + while(plane && line[plane-1]) + av_freep(&line[--plane]); + return AVERROR(ENOMEM); + } memset(line[plane], dst_color[plane], line_size); } } _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog