Message ID | f8343281-d6b4-9215-082c-ac4c65d29023@googlemail.com |
---|---|
State | Accepted |
Headers | show |
On Wed, Nov 30, 2016 at 12:21:41AM +0100, Andreas Cadhalpun wrote: > On 29.11.2016 02:49, Michael Niedermayer wrote: > > On Tue, Nov 29, 2016 at 12:33:17AM +0100, Andreas Cadhalpun wrote: > >> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> > >> --- > >> libavformat/avidec.c | 2 ++ > >> 1 file changed, 2 insertions(+) > > > > If previous extradata is freed it should probably print a warning or > > error out > > That's a good idea, updated patch is attached. > > Best regards, > Andreas > > avidec.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > 88b8c27a72e7ec4519e92eee5a3a2764a657a823 0001-avidec-fix-leaking-extradata.patch > From e6a4fc92a99e2e3789730e8e122b39255d186c1f Mon Sep 17 00:00:00 2001 > From: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> > Date: Tue, 29 Nov 2016 00:28:55 +0100 > Subject: [PATCH] avidec: fix leaking extradata LGTM thx [...]
On 30.11.2016 01:29, Michael Niedermayer wrote: > On Wed, Nov 30, 2016 at 12:21:41AM +0100, Andreas Cadhalpun wrote: >> avidec.c | 8 ++++++++ >> 1 file changed, 8 insertions(+) >> 88b8c27a72e7ec4519e92eee5a3a2764a657a823 0001-avidec-fix-leaking-extradata.patch >> From e6a4fc92a99e2e3789730e8e122b39255d186c1f Mon Sep 17 00:00:00 2001 >> From: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> >> Date: Tue, 29 Nov 2016 00:28:55 +0100 >> Subject: [PATCH] avidec: fix leaking extradata > > LGTM Pushed. Best regards, Andreas
From e6a4fc92a99e2e3789730e8e122b39255d186c1f Mon Sep 17 00:00:00 2001 From: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> Date: Tue, 29 Nov 2016 00:28:55 +0100 Subject: [PATCH] avidec: fix leaking extradata Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> --- libavformat/avidec.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libavformat/avidec.c b/libavformat/avidec.c index e5a292e..d465965 100644 --- a/libavformat/avidec.c +++ b/libavformat/avidec.c @@ -770,6 +770,10 @@ FF_ENABLE_DEPRECATION_WARNINGS st->codecpar->extradata_size = esize - 10 * 4; } else st->codecpar->extradata_size = size - 10 * 4; + if (st->codecpar->extradata) { + av_log(s, AV_LOG_WARNING, "New extradata in strf chunk, freeing previous one.\n"); + av_freep(&st->codecpar->extradata); + } if (ff_get_extradata(s, st->codecpar, pb, st->codecpar->extradata_size) < 0) return AVERROR(ENOMEM); } @@ -925,6 +929,10 @@ FF_ENABLE_DEPRECATION_WARNINGS st = s->streams[stream_index]; if (size<(1<<30)) { + if (st->codecpar->extradata) { + av_log(s, AV_LOG_WARNING, "New extradata in strd chunk, freeing previous one.\n"); + av_freep(&st->codecpar->extradata); + } if (ff_get_extradata(s, st->codecpar, pb, size) < 0) return AVERROR(ENOMEM); } -- 2.10.2