From patchwork Tue Nov 29 23:21:41 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Cadhalpun X-Patchwork-Id: 1607 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.65.86 with SMTP id o83csp77577vsa; Tue, 29 Nov 2016 15:21:54 -0800 (PST) X-Received: by 10.194.100.225 with SMTP id fb1mr26079627wjb.128.1480461714267; Tue, 29 Nov 2016 15:21:54 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id o7si4524033wmg.23.2016.11.29.15.21.52; Tue, 29 Nov 2016 15:21:54 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@googlemail.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=QUARANTINE dis=NONE) header.from=googlemail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 18CB4689F0C; Wed, 30 Nov 2016 01:21:44 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wj0-f173.google.com (mail-wj0-f173.google.com [209.85.210.173]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 355B2689EE9 for ; Wed, 30 Nov 2016 01:21:37 +0200 (EET) Received: by mail-wj0-f173.google.com with SMTP id mp19so159268361wjc.1 for ; Tue, 29 Nov 2016 15:21:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20120113; h=from:subject:to:references:message-id:date:user-agent:mime-version :in-reply-to; bh=fA/tCk/BRtFCPrD3MndaSrUELL+Q1Sdrj29z7nHXQlk=; b=QEjUpbsu6EuOoH/LBrjO9jiw0Th0wbsPR706jODSiUWQNXZvYrmcOAc3y1Jl7nQrNd XgQe+SfjTc3b3jehUv2TQ1hOz20cm5OA4UxRwBlfV5rAkq8CtwYgdNRdw3vY/mRac+d7 nGf7B9b9vMA//320inE0DSiFbzo0m+mQ0qUX4fQaef83+iGx47P72SV7sUWuJa5KIbLw BAmhXyJ/U9DITDrpi4utZqWv0ASmxFurron6BVCcRmHzaynatzkSNjIKxNQTI2b13mJ9 V1oQj4EH72Lj1ZiTbk/IIDcYfEaw10aithISC5jowaRhuLqbKvnnojzkjNpOwSz0li8V sSJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:subject:to:references:message-id:date :user-agent:mime-version:in-reply-to; bh=fA/tCk/BRtFCPrD3MndaSrUELL+Q1Sdrj29z7nHXQlk=; b=R86qXLxt6CIsoZoctz/qn2s058LPc2j766f8FTFEFMtR/q3QjUr+bEIrSlQSb6pzWA 8MJXbddOVGz+nTiNMhxBncdEwML96zen1QWO1udh6MmLX61ij86XOxHwep4jjsQ+Di6g 9ysUV3331x9WJrkIRYC4ymE56mPf9QjvrMp09KL+TJUi2ItGoUDAiyoLDnakNJldWXwU CkgVPwgw6TkWQc0WLYiIlo/OeCi+y26ywwq07LyIadRDej7ONBE1O3ESE1pmjRWMjrYc fEDcl5m6hx80cYKj1YfOtuKp+Tdh/DIY7C8w3J1nAEbt4hoVNgVkKg6LYii5WjMvZqQg CReA== X-Gm-Message-State: AKaTC015GTVgVyMYu0W+Fj9q6fD7pF4zYUDuYqfioa1+d0yyYPx3UEC3zGK2V8BTplZb1A== X-Received: by 10.194.190.229 with SMTP id gt5mr24999778wjc.212.1480461702917; Tue, 29 Nov 2016 15:21:42 -0800 (PST) Received: from [192.168.2.21] (p5B072CA2.dip0.t-ipconnect.de. [91.7.44.162]) by smtp.googlemail.com with ESMTPSA id d8sm5063719wmi.21.2016.11.29.15.21.42 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 29 Nov 2016 15:21:42 -0800 (PST) From: Andreas Cadhalpun X-Google-Original-From: Andreas Cadhalpun To: ffmpeg-devel@ffmpeg.org References: <20161129014926.GZ4824@nb4> Message-ID: Date: Wed, 30 Nov 2016 00:21:41 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.4.0 MIME-Version: 1.0 In-Reply-To: <20161129014926.GZ4824@nb4> Subject: Re: [FFmpeg-devel] [PATCH] avidec: fix leaking extradata X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" 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 >> --- >> 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 From e6a4fc92a99e2e3789730e8e122b39255d186c1f Mon Sep 17 00:00:00 2001 From: Andreas Cadhalpun Date: Tue, 29 Nov 2016 00:28:55 +0100 Subject: [PATCH] avidec: fix leaking extradata Signed-off-by: Andreas Cadhalpun --- 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