[FFmpeg-devel] [PATCH 1/2] opus_parser: fix leaking channel_maps on error

Michael Niedermayer michael at niedermayer.cc
Fri Dec 9 16:23:29 EET 2016


On Fri, Dec 09, 2016 at 12:08:10AM +0100, Andreas Cadhalpun wrote:
> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>
> ---
>  libavcodec/opus_parser.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/libavcodec/opus_parser.c b/libavcodec/opus_parser.c
> index c30fd7b..21a73ee 100644
> --- a/libavcodec/opus_parser.c
> +++ b/libavcodec/opus_parser.c
> @@ -116,11 +116,11 @@ static int opus_find_frame_end(AVCodecParserContext *ctx, AVCodecContext *avctx,
>  
>      if (avctx->extradata && !s->extradata_parsed) {
>          ret = ff_opus_parse_extradata(avctx, &s->ctx);
> +        av_freep(&s->ctx.channel_maps);
>          if (ret < 0) {
>              av_log(avctx, AV_LOG_ERROR, "Error parsing Ogg extradata.\n");
>              return AVERROR_INVALIDDATA;
>          }
> -        av_freep(&s->ctx.channel_maps);
>          s->extradata_parsed = 1;
>      }

isnt it more correct for ff_opus_parse_extradata() to cleanup what
it allocated on error ?

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Breaking DRM is a little like attempting to break through a door even
though the window is wide open and the only thing in the house is a bunch
of things you dont want and which you would get tomorrow for free anyway
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20161209/d73ab89c/attachment.sig>


More information about the ffmpeg-devel mailing list