From patchwork Tue Mar 6 00:43:56 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthew Wolenetz X-Patchwork-Id: 7818 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.181.170 with SMTP id m39csp3157862jaj; Mon, 5 Mar 2018 16:44:49 -0800 (PST) X-Google-Smtp-Source: AG47ELuOcx0+KXJ0kEXcrZir+M9FwYUmiO+rLe0l6X8rsE7Sra6hrBXaAMO80reIAoyEznwLeg/w X-Received: by 10.223.225.6 with SMTP id d6mr12678613wri.128.1520297089018; Mon, 05 Mar 2018 16:44:49 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1520297088; cv=none; d=google.com; s=arc-20160816; b=zfa9Bi+skfzRjtOH6X8w4avsBDgCtdn//A8C5dvki5BaSV83kw/1RRSxsBiExhKHq2 tKCzoUzKSsKbvG1k9zzsp1P3OGWwPUrfOdbYPPYzk9XUES7wixQzc0VCDgH8DVqnornO VFXBfGQn75Hqr7oio8hFwKmORADKotDfRZDf26XF3Xl7xFi8Kl/tXLjQOGi1eMsfyNul qByXcWroousLcCp7saN835QHWKnZfYxbXOdvdf6A4tl1oApMKn2pO/rHDy+KuFaqnnPz geVvYTu4MNhPtT0Uc4qZQ8PUm/5MmRpw3Mzu7R+y4vH3KRUzVgcHcfvph0l2YFWV6wnR el/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:reply-to:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:subject:to :message-id:date:from:mime-version:dkim-signature:delivered-to :arc-authentication-results; bh=yJvMv00sEfSHDB+bYAIsRX6LuQeyJDXv+O4AZQOAv3Y=; b=R+INlhlXSw0aV8kisYorfwmZeFwSmRgioF6EUAjhbaK4+4q3O34S0Sr580qf6r8OIX IuobnSsxQTjRzcM2RjX8mUo3fTTaocPQ10sYrCeSgFHXvYgB7ImlwB7GHNTAb/7i6pGf OXU01G/BwLSwg/psX0NYeCIj1WISH1AFPXDX6eXXNOkXx2E/S3lGucbDsASR+Vz/ZCM4 VgY5YI5Tu6d7bZ6f8zNdmdmgDSStnq3Ma3y1Mrct7IEsrMFZLva+W7ZEKMWoO6YlxYFA fzpCqb2vlw6kCBh+PVF+vqqQfM7n6StdZxrvvfi13zkH9Vqv5iy44/d3QNfJ633URlm6 l9Cg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@chromium.org header.s=google header.b=X2Z+g/n8; 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=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id t131si1477121wmf.268.2018.03.05.16.44.48; Mon, 05 Mar 2018 16:44:48 -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=@chromium.org header.s=google header.b=X2Z+g/n8; 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=NONE sp=NONE dis=NONE) header.from=chromium.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 30C4968A3DE; Tue, 6 Mar 2018 02:44:39 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-yb0-f176.google.com (mail-yb0-f176.google.com [209.85.213.176]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8053168A288 for ; Tue, 6 Mar 2018 02:44:32 +0200 (EET) Received: by mail-yb0-f176.google.com with SMTP id u5-v6so6485939ybf.4 for ; Mon, 05 Mar 2018 16:44:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:reply-to:from:date:message-id:subject:to:cc; bh=S6oNU4TFlaCI1YgE7Lq7I1Pb1FZt1+mkGMT0OHI2DAw=; b=X2Z+g/n8h9bK4s1gB5lmcjD3Nz/RSWrR4iybUfFDB23dPcQQnfMzoWoW4fKnQwFzw1 OCEHCiXmhZ9Z62pygVNZfTzP5XKoRXZY1sl8YlF9YCl6zJAtFtNakosZS15ze+zKlF6D O9FyDKmH35hStHpmCEVf7sU29uqW38ZTGo/kQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:reply-to:from:date:message-id :subject:to:cc; bh=S6oNU4TFlaCI1YgE7Lq7I1Pb1FZt1+mkGMT0OHI2DAw=; b=I0RdcLPNjPVKFK65/qFceaco/nWddn+2EjlwuXUeIqCl9Qb0GBmp9b0Ry4TEhmFFOn dkUmdr6lEBmsTvf+Kw5zSifU8gE96qBj5SqaBAcU0BZIcJs7GsCwRvVK2tKDhhSfQ8gV FQ5MglPy74XA84/LCVJ4rwvkHk9uYHziDhPFuJ21kw6jRrRTGwpy2pUEQdLBQ33vKeki 63HCh5X2DIVbNqPS/wTbRnD9twLE2yvVIQhG8EvNCpuVibBJLZ6OjWKuT9Jt2KQtbkFT eVwTkIleWxtGIwiq0xAktf6gjanEIcyl4ONcWnsUWZzG1dSmJTbiMFUuOggzVEEgLewy LW8A== X-Gm-Message-State: APf1xPAtSjz0/pBHDaqXJ8J2RlTwLPNRb8q8kBPJ5h/r8wq9K8GMaSri Lik/NkkWdTye2JMdLCG3NRYUP9TaR6U= X-Received: by 2002:a25:ba05:: with SMTP id t5-v6mr10298260ybg.445.1520297078151; Mon, 05 Mar 2018 16:44:38 -0800 (PST) Received: from mail-yb0-f179.google.com (mail-yb0-f179.google.com. [209.85.213.179]) by smtp.gmail.com with ESMTPSA id u1sm5501715ywf.10.2018.03.05.16.44.37 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 05 Mar 2018 16:44:37 -0800 (PST) Received: by mail-yb0-f179.google.com with SMTP id i5-v6so2523205yba.0 for ; Mon, 05 Mar 2018 16:44:37 -0800 (PST) X-Received: by 2002:a25:d1c8:: with SMTP id i191-v6mr10501368ybg.32.1520297076860; Mon, 05 Mar 2018 16:44:36 -0800 (PST) MIME-Version: 1.0 Received: by 2002:a25:5f45:0:0:0:0:0 with HTTP; Mon, 5 Mar 2018 16:43:56 -0800 (PST) From: Matthew Wolenetz Date: Mon, 5 Mar 2018 16:43:56 -0800 X-Gmail-Original-Message-ID: Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.20 Subject: [FFmpeg-devel] [PATCH] lavc/vorbisdec: Allow avcodec_open2 to call .close 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: =?UTF-8?B?WGlhb2hhbiBXYW5nICjnjovmtojlr5Ip?= , Dale Curtis Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From 7471c1d223b860c13793abfd93174d1557f77d6f Mon Sep 17 00:00:00 2001 From: Matt Wolenetz Date: Mon, 5 Mar 2018 15:59:18 -0800 Subject: [PATCH] lavc/vorbisdec: Allow avcodec_open2 to call .close If there is a decoder initialization failure detected in avcodec_open2 after .init is called, allow graceful decoder .close to prevent leaking vorbis decoder allocations such as those from vorbis_parse_setup_*. BUG=772699 --- libavcodec/vorbisdec.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavcodec/vorbisdec.c b/libavcodec/vorbisdec.c index 2a4f482031..00e9cd8a13 100644 --- a/libavcodec/vorbisdec.c +++ b/libavcodec/vorbisdec.c @@ -1862,6 +1862,7 @@ AVCodec ff_vorbis_decoder = { .decode = vorbis_decode_frame, .flush = vorbis_decode_flush, .capabilities = AV_CODEC_CAP_DR1, + .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, .channel_layouts = ff_vorbis_channel_layouts, .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_NONE }, -- 2.16.2.395.g2e18187dfd-goog