Commit 6b9e0bf4 authored by Michael Niedermayer's avatar Michael Niedermayer

avfilter/vf_removelogo: fix memleak on failure

Fixes CID751770
Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent 8e078000
...@@ -318,12 +318,16 @@ static av_cold int init(AVFilterContext *ctx) ...@@ -318,12 +318,16 @@ static av_cold int init(AVFilterContext *ctx)
for (a = 0; a <= s->max_mask_size; a++) { for (a = 0; a <= s->max_mask_size; a++) {
mask[a] = (int **)av_malloc(sizeof(int *) * ((a * 2) + 1)); mask[a] = (int **)av_malloc(sizeof(int *) * ((a * 2) + 1));
if (!mask[a]) if (!mask[a]) {
av_free(mask);
return AVERROR(ENOMEM); return AVERROR(ENOMEM);
}
for (b = -a; b <= a; b++) { for (b = -a; b <= a; b++) {
mask[a][b + a] = (int *)av_malloc(sizeof(int) * ((a * 2) + 1)); 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); return AVERROR(ENOMEM);
}
for (c = -a; c <= a; c++) { for (c = -a; c <= a; c++) {
if ((b * b) + (c * c) <= (a * a)) /* Circular 0/1 mask. */ if ((b * b) + (c * c) <= (a * a)) /* Circular 0/1 mask. */
mask[a][b + a][c + a] = 1; mask[a][b + a][c + a] = 1;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment