Commit feb13aed authored by Timo Rothenpieler's avatar Timo Rothenpieler

avfilter/vf_signature: fix memory leaks in error cases

Fixes CIDs 1403234 and 1403235
parent a5b5ce26
...@@ -260,8 +260,10 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *picref) ...@@ -260,8 +260,10 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *picref)
if (!elemsignature) if (!elemsignature)
return AVERROR(ENOMEM); return AVERROR(ENOMEM);
sortsignature = av_malloc_array(elemcat->elem_count, sizeof(int64_t)); sortsignature = av_malloc_array(elemcat->elem_count, sizeof(int64_t));
if (!sortsignature) if (!sortsignature) {
av_freep(&elemsignature);
return AVERROR(ENOMEM); return AVERROR(ENOMEM);
}
for (j = 0; j < elemcat->elem_count; j++) { for (j = 0; j < elemcat->elem_count; j++) {
blocksum = 0; blocksum = 0;
...@@ -508,6 +510,7 @@ static int binary_export(AVFilterContext *ctx, StreamContext *sc, const char* fi ...@@ -508,6 +510,7 @@ static int binary_export(AVFilterContext *ctx, StreamContext *sc, const char* fi
char buf[128]; char buf[128];
av_strerror(err, buf, sizeof(buf)); av_strerror(err, buf, sizeof(buf));
av_log(ctx, AV_LOG_ERROR, "cannot open file %s: %s\n", filename, buf); av_log(ctx, AV_LOG_ERROR, "cannot open file %s: %s\n", filename, buf);
av_freep(&buffer);
return err; return err;
} }
init_put_bits(&buf, buffer, len); init_put_bits(&buf, buffer, len);
......
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