diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-05-10 21:29:24 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-05-10 21:29:24 +0200 |
commit | 6b9e0bf42fb360a150e08b8eb6404ac1ed66ef7e (patch) | |
tree | f462cbea89163ed82c46c5756790269c1b6e73df | |
parent | 8e078000010bb5201a521489d32e138765c38fe7 (diff) | |
download | ffmpeg-6b9e0bf42fb360a150e08b8eb6404ac1ed66ef7e.tar.gz |
avfilter/vf_removelogo: fix memleak on failure
Fixes CID751770
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavfilter/vf_removelogo.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/libavfilter/vf_removelogo.c b/libavfilter/vf_removelogo.c index 01a585c218..889050b764 100644 --- a/libavfilter/vf_removelogo.c +++ b/libavfilter/vf_removelogo.c @@ -318,12 +318,16 @@ static av_cold int init(AVFilterContext *ctx) for (a = 0; a <= s->max_mask_size; a++) { mask[a] = (int **)av_malloc(sizeof(int *) * ((a * 2) + 1)); - if (!mask[a]) + if (!mask[a]) { + av_free(mask); return AVERROR(ENOMEM); + } for (b = -a; b <= a; b++) { mask[a][b + a] = (int *)av_malloc(sizeof(int) * ((a * 2) + 1)); - if (!mask[a][b + a]) + if (!mask[a][b + a]) { + av_free(mask); return AVERROR(ENOMEM); + } for (c = -a; c <= a; c++) { if ((b * b) + (c * c) <= (a * a)) /* Circular 0/1 mask. */ mask[a][b + a][c + a] = 1; |