From patchwork Fri Oct 13 16:59:16 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: wm4 X-Patchwork-Id: 5552 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.161.90 with SMTP id m26csp903683jah; Fri, 13 Oct 2017 09:59:45 -0700 (PDT) X-Received: by 10.28.29.130 with SMTP id d124mr2269990wmd.73.1507913985739; Fri, 13 Oct 2017 09:59:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1507913985; cv=none; d=google.com; s=arc-20160816; b=KUD6JIB3a+LCihNLF17TCwJBqFpVjWwpAfXTUNTKeb7EUsme+VIm1T7g9qWdVBxZYf 8bgTosVDP7IN5i86aRypF9l/u8uihecIYUQyD/6IdWw3GSQ2e/tRT+Hql/JvojI+1Irk 2lTZPiEiUo30mn2sPH11fgnrHYdF17YLWn3mlZA7SXq1esv0gUbd865ll4k6nudOR+2w uMdwx413M3cwvEVxJHdzTwza1rVUF3+k0hsmDb19/U8pIhIkATMRPriCWunURSdt7pSj z8wg4QfQiDOgZk4ITSd/nsiKS+4HJ8t/auS/fcFV4Ml8VGJDKH2mWRYoo9p3rF5NSnVM 5+/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to:arc-authentication-results; bh=o7xYJEgNiWVzYOFoeH4rFOuTqryWwc5Aubz15evjUkk=; b=fHN26WcQ14zrE23DzlUf0dvJLLs7OwK8xxWtzs1a0h1D6SnZDupJ7fZ6I+C8QmXlbE 3XB6Nbwyq8Ny3DqOslImef2Ymo6+JjHriuAhb8wPayfijddIGAbOmxS3T14jbYC8nfy/ MJ4h2YWAZTDOnZJRt7s67ueu7bgNWRGl/GSrs4E7btnbWSqCc2aJOUdctbv1t6S05XC8 SKxfDKVAjR4UT2ON7tVVQ6Z9ifQxa2uftgVwE+iWmO7oPjRnyFdyjrUwiAVAeh0bR5bC GuIn4A++rdFKXovPYbgdg9kgmyU3YNRHZWXT7D5LFxSPAoawiqA43IKPLbMfQWZzNEP8 X03Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@googlemail.com header.s=20161025 header.b=nlVvGRCV; 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 sp=QUARANTINE dis=NONE) header.from=googlemail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id r18si1136363wrg.494.2017.10.13.09.59.45; Fri, 13 Oct 2017 09:59:45 -0700 (PDT) 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 header.s=20161025 header.b=nlVvGRCV; 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 sp=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 F2B4068A0F8; Fri, 13 Oct 2017 19:59:25 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm0-f52.google.com (mail-wm0-f52.google.com [74.125.82.52]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id AC62A68A0BB for ; Fri, 13 Oct 2017 19:59:18 +0300 (EEST) Received: by mail-wm0-f52.google.com with SMTP id 196so28696240wma.1 for ; Fri, 13 Oct 2017 09:59:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=iu8r4/e7gwgh6ndGejp5hdidx5qVG2M3n3ShPkFIcxY=; b=nlVvGRCV9cYAl0TJHM2ZVrg7DpVHkzNkg01CyTeF3czf7qxG3GIrON56MZP1r9zzsw Pnh4PPMJ9LLvaWVTqBjVbkyymzHV7dXZb8gynEm1j5xnOwWGmccCv379P5vk+A4vM601 BSmo/7cyMhPMVivtIbZmGdQNOSTxiCR4SIQlssoncTVO2qKkVtivT7jXrKT4uM3sDPkE CAkCr3vKjBVTbkWR6XEgNf84U6kHzKW50ivCccb+KVOOD3VvkYoxZLdzmCDbddeeo1XQ kfykSG+qy8ZmhQBrZT342LI5z4+4nQCAs3MXM1MRTygOY2Wr6fOBKo77fezKMXwvxwQb lUtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=iu8r4/e7gwgh6ndGejp5hdidx5qVG2M3n3ShPkFIcxY=; b=abgGZhCC8HTdp4dksyzQh3xc9VouTnvM5LdQvb+QOTlml8tDBr7ixeyu/jnfkTHCr7 rxE33NAlq+pUVSutx+kifHL/viFLtCG6t+M8auqwAab6Ud3uFgi82AbGOi1s8C5QV0lp cVxGlbMIBf+3pm8d0otZSxs6l7G8iZj74S3X50tRvmyuRgul0i+4wrsu1LsUYK6lDSxq AMLkA9Ym7KqBuZPDC6C6S+JaGMU1jQv8nrhmDHHQJT0knZNV+OQj2rCLJMxQh/bzs8i/ 8kdhVmrq6qJLJcubGCJbd6TO9Xgv5rJ/6tHkjxgi01i94OS/hU6ofxg4GALj3pyIFCBu /dew== X-Gm-Message-State: AMCzsaVAFwKQpmwYXXfr+GIuxQVHkfDJZgL/gtC9pTUdUDa332/M5Py7 aSTDxoX+YHjMrtL3Z42Riri6LQ== X-Google-Smtp-Source: AOwi7QAHoKpLWsIHrRet3RxJiSfDAfIruzlqlpa6eQ0rwVqOdi6L1vtkkNbWjgAkfeYdJRIqXamIVw== X-Received: by 10.80.129.230 with SMTP id 93mr3020596ede.101.1507913961387; Fri, 13 Oct 2017 09:59:21 -0700 (PDT) Received: from debian.speedport.ip (p2003006CCD5CDB3359F6019A8DC244E7.dip0.t-ipconnect.de. [2003:6c:cd5c:db33:59f6:19a:8dc2:44e7]) by smtp.googlemail.com with ESMTPSA id a1sm1199243edb.37.2017.10.13.09.59.20 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 13 Oct 2017 09:59:20 -0700 (PDT) From: wm4 To: ffmpeg-devel@ffmpeg.org Date: Fri, 13 Oct 2017 18:59:16 +0200 Message-Id: <20171013165919.7642-3-nfxjfg@googlemail.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20171013165919.7642-1-nfxjfg@googlemail.com> References: <20171013165919.7642-1-nfxjfg@googlemail.com> Subject: [FFmpeg-devel] [PATCH 2/5] decode: avoid leaks on failure in ff_get_buffer() 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 Cc: libav-stable@libav.org MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Anton Khirnov If the get_buffer() call fails, the frame might have some side data already set. Make sure it gets freed. CC: libav-stable@libav.org Merges Libav commit de77671438c24ffea93398c8dc885d4dd04477de. --- libavcodec/decode.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavcodec/decode.c b/libavcodec/decode.c index 1337ffb527..437b848248 100644 --- a/libavcodec/decode.c +++ b/libavcodec/decode.c @@ -1658,6 +1658,9 @@ end: frame->height = avctx->height; } + if (ret < 0) + av_frame_unref(frame); + return ret; }