From patchwork Tue Sep 15 07:39:44 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 22395 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 4DAA844B636 for ; Tue, 15 Sep 2020 10:40:49 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 39D7068BC55; Tue, 15 Sep 2020 10:40:49 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f65.google.com (mail-wr1-f65.google.com [209.85.221.65]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 22B7768BBB3 for ; Tue, 15 Sep 2020 10:40:40 +0300 (EEST) Received: by mail-wr1-f65.google.com with SMTP id e16so2197809wrm.2 for ; Tue, 15 Sep 2020 00:40:40 -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=p1Ctfx7MPghFdgZHZecT2OULUzoqjBvmuGH6Cg4pZuU=; b=jUjaYPpkZ9hkSZ9ZPs49YeI7sYvFXHW5KPkmRppsXoR082ylHDGaSO8M9JsMZLVA4J y1N5Y5NvbwbZb3NPqAbmH2kBScsRfofLC2qpv+JFrw8XzSMH/NFNXtoE0c20vWlXPyxE Aga6Gc/VzOZcyg7fedjR976sKpi7nQNziDWRZPpOeOe8ZicsbORsBxaBFm5Z/+YFJ2eK HuOxoGmC37Flm//NmdzJl4p8sccpekLQKc1TdNHt0EV99etuxNq3y2di636Cy501aCdL tn2EQ/tcQmKJbKIYoM5kv4qiHCwlDLTSxi40s1r1/IVP0rvM/i4BnG0MfDBkaf3Yrml/ 9L8A== 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=p1Ctfx7MPghFdgZHZecT2OULUzoqjBvmuGH6Cg4pZuU=; b=W0Ox/As3H+1vzdUjNEhLCDMPGilEVfq10TPNFAtLe/uelP9nFr0yGNUVvlhEDUyDu3 9OJmGJJGUuPaY80yXCjHiGhiPMbw3dhD9Qnpn6OO/JZVMhj1SbONvRtI3aRcMNXbYHI8 rlC33f+4nDtf0YwSIvBxo0y8tePypHPT81O1nEhsQOu2ZT1fbd015OziszLt7VawzFMn ZLSdFy5D+LIQwtN+J7vX8RxWtMZ2hOPQPWwwvuwcfMNq1kuAgH4QtKQMH2YD0yZRnHqt RMnkF9+EcmbWLWZY5qtKCClHmr1F4viHwCu8kgqp8R8f+Yhe4NCgcSIO4COXKZ3jPcq8 FO+A== X-Gm-Message-State: AOAM533ujEXl4Mxpb1EahcwbJLIj6OqVE46z6FM+mU8ShvkDb7QvsLFb 6Yv62f/WE1ZE8R3yHjmLGCqivRQj0hs= X-Google-Smtp-Source: ABdhPJw7YzCIcWswI23/RR8HgnNCrnvqIaX2XeJbT8G3KVEwnE0AvZt2ATTKghXUwgTEbp9vU5LOHQ== X-Received: by 2002:adf:cf01:: with SMTP id o1mr20229074wrj.421.1600155640212; Tue, 15 Sep 2020 00:40:40 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc1fb0f.dynamic.kabel-deutschland.de. [188.193.251.15]) by smtp.gmail.com with ESMTPSA id d23sm6112125wmb.6.2020.09.15.00.40.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2020 00:40:39 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 15 Sep 2020 09:39:44 +0200 Message-Id: <20200915074000.102622-14-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200915074000.102622-1-andreas.rheinhardt@gmail.com> References: <20200915074000.102622-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 14/30] avcodec/indeo3: 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/indeo3.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/libavcodec/indeo3.c b/libavcodec/indeo3.c index 71d478c9fc..75113a7541 100644 --- a/libavcodec/indeo3.c +++ b/libavcodec/indeo3.c @@ -203,10 +203,8 @@ static av_cold int allocate_frame_buffers(Indeo3DecodeContext *ctx, ctx->planes[p].buffers[0] = av_malloc(!p ? luma_size : chroma_size); ctx->planes[p].buffers[1] = av_malloc(!p ? luma_size : chroma_size); - if (!ctx->planes[p].buffers[0] || !ctx->planes[p].buffers[1]) { - free_frame_buffers(ctx); + if (!ctx->planes[p].buffers[0] || !ctx->planes[p].buffers[1]) return AVERROR(ENOMEM); - } /* fill the INTRA prediction lines with the middle pixel value = 64 */ memset(ctx->planes[p].buffers[0], 0x40, ctx->planes[p].pitch); @@ -1143,4 +1141,5 @@ AVCodec ff_indeo3_decoder = { .close = decode_close, .decode = decode_frame, .capabilities = AV_CODEC_CAP_DR1, + .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, };