aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2017-03-21 12:03:44 -0300
committerJames Almer <jamrial@gmail.com>2017-03-21 12:14:28 -0300
commit8e4abfbb9dbc6ff192926e4d6befef40897a5479 (patch)
treeb3cfa446ec572110cccc618f6d4eb7d4d7869ebc
parentf9083dec0c2ef79ab44d7511f86bd0bf7fe45978 (diff)
downloadffmpeg-8e4abfbb9dbc6ff192926e4d6befef40897a5479.tar.gz
swresample/resample: free existing ResampleContext on reinit
Fixes memleak. Reviewed-by: wm4 <nfxjfg@googlemail.com> Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Almer <jamrial@gmail.com> (cherry picked from commit db7a05dab0652d4ec6d89394c9024d02f44494a7)
-rw-r--r--libswresample/resample.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/libswresample/resample.c b/libswresample/resample.c
index 2e161b19ce..e7c9e730fb 100644
--- a/libswresample/resample.c
+++ b/libswresample/resample.c
@@ -328,6 +328,7 @@ static ResampleContext *resample_init(ResampleContext *c, int out_rate, int in_r
if (!c || c->phase_count != phase_count || c->linear!=linear || c->factor != factor
|| c->filter_length != FFMAX((int)ceil(filter_size/factor), 1) || c->format != format
|| c->filter_type != filter_type || c->kaiser_beta != kaiser_beta) {
+ resample_free(&c);
c = av_mallocz(sizeof(*c));
if (!c)
return NULL;