From patchwork Sat Aug 29 17:56:18 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 21991 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id A691244AD75 for ; Sat, 29 Aug 2020 20:57:17 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8B44168A561; Sat, 29 Aug 2020 20:57:17 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm1-f67.google.com (mail-wm1-f67.google.com [209.85.128.67]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 51A656881EF for ; Sat, 29 Aug 2020 20:57:07 +0300 (EEST) Received: by mail-wm1-f67.google.com with SMTP id z9so1886708wmk.1 for ; Sat, 29 Aug 2020 10:57:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=jpJFK323Z9BCFPh+XrK/ZMLAvUmX+DLKAvNiNU4Jqpo=; b=YkOMqyp71hmd4Y6DlMVNPgO9vp0w6nC7oD8eN9HdgvkGkFfokknKcFFG5WAtSYOEjG 5LBmyPhQNBQLFQZ9eyPZND5nIpP4da5EfzJWsQ0Ka/IRfIAAqf6C/3sVpSXbpPu6GdXp DlyEqDXceO2H5Kk/K/4L42l5+0SsNOVOaDSvKXI9p8p01a164wv4LhoVwl4Svg6wX2IF Qx7Q/9zuoRTPmHcRwwdVzy1UBOTZw9G9zTxxcHu4+hzxdRvcFSPGugNDO8TbJ1BHxJyi J26L2OTz7XVDFPr+oE2bNrzm2yOJc9LlL9Kb2vR+BTRXB9UYbPr4ZT1rYY8tGpE8NwGy GCyQ== 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:mime-version:content-transfer-encoding; bh=jpJFK323Z9BCFPh+XrK/ZMLAvUmX+DLKAvNiNU4Jqpo=; b=VjRDCTWrReS2iV0TNwrjSDIlzW/HeJk6+zypB0bxChZsIb/oq8STFymSb6h3rWe1HJ /aBPveMpDnME05Tbx5EOlCfqlpiBr3hWArq+2ZHfSHhxPFCxTpkD/JR3yp/FIKzvfbAx TMre+9S0YM4Hun3MFoiE/J+lxEj7nr08tdHXsf+DZeJKOs94icQfcIMCaEsRLXOdcfzE hLFXTZUig8uXPFTV5ulzBjsb95IjY3PvwZR87efk67soQixfp9RANoKpv+S68Mt3Ez2s tVE0ccULfQcp3ImF+gS5HSMlEsbsTD7EcAM909Ye4URssllvfUTVDuJc0OMLdctTSJf5 uGvQ== X-Gm-Message-State: AOAM531DeNDqOwiFLYdiMGxiV6/wk6BK33ej6hxK6vR5BX60ptNfZvWb WtGnrCE4s50107J2JnPi1jhZpgGm34A= X-Google-Smtp-Source: ABdhPJx5060TThako63dDXyFp8n/l1K/g3wlUJ35SzC3hJ2gkKZB1/kpyT+13pBejA2Gxh5wjKUZVg== X-Received: by 2002:a1c:f609:: with SMTP id w9mr3992081wmc.150.1598723826500; Sat, 29 Aug 2020 10:57:06 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc1fb0f.dynamic.kabel-deutschland.de. [188.193.251.15]) by smtp.gmail.com with ESMTPSA id z8sm4016734wmf.10.2020.08.29.10.57.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Aug 2020 10:57:06 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 29 Aug 2020 19:56:18 +0200 Message-Id: <20200829175626.11682-5-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200829175626.11682-1-andreas.rheinhardt@gmail.com> References: <20200829175626.11682-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 05/13] avcodec/mss3: Cleanup generically after init failure 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: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Signed-off-by: Andreas Rheinhardt --- libavcodec/mss3.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/libavcodec/mss3.c b/libavcodec/mss3.c index a301675ec2..74f4b5e671 100644 --- a/libavcodec/mss3.c +++ b/libavcodec/mss3.c @@ -844,19 +844,13 @@ static av_cold int mss3_decode_init(AVCodecContext *avctx) b_width * b_height); if (!c->dct_coder[i].prev_dc) { av_log(avctx, AV_LOG_ERROR, "Cannot allocate buffer\n"); - while (i >= 0) { - av_freep(&c->dct_coder[i].prev_dc); - i--; - } return AVERROR(ENOMEM); } } c->pic = av_frame_alloc(); - if (!c->pic) { - mss3_decode_end(avctx); + if (!c->pic) return AVERROR(ENOMEM); - } avctx->pix_fmt = AV_PIX_FMT_YUV420P; @@ -875,4 +869,5 @@ AVCodec ff_msa1_decoder = { .close = mss3_decode_end, .decode = mss3_decode_frame, .capabilities = AV_CODEC_CAP_DR1, + .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, };