diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2015-01-22 13:54:26 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2015-01-22 13:54:26 +0100 |
commit | f77571f6bb5a252e09fc47049b0c61cc11559fad (patch) | |
tree | d22054569ce29ee7e9c0b9c84fca92c13cf5b32d /libavfilter/drawutils.c | |
parent | c90069c6ba046b82cbfd7686661fc93f0c5cdc6a (diff) | |
download | ffmpeg-f77571f6bb5a252e09fc47049b0c61cc11559fad.tar.gz |
avfilter/drawutils: Check for av_malloc* failures
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavfilter/drawutils.c')
-rw-r--r-- | libavfilter/drawutils.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/libavfilter/drawutils.c b/libavfilter/drawutils.c index ac30db21a6..0b2f17e52a 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); } } |