From patchwork Tue Feb 27 21:29:49 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 46592 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:c51b:b0:19e:cdac:8cce with SMTP id gm27csp2262838pzb; Tue, 27 Feb 2024 13:28:07 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCWFk8NVjBF26eeaM/s6+6NTWtNlVh4EW9yrsistQLzCTwYsegyXrnjs92NdZt0Zw4CnG8ZxQDzDUY9So5LQVRz31K0oQ+YK67mH3A== X-Google-Smtp-Source: AGHT+IF0LjDWJQ6f/3wz9AN+IRZpvwQ8cNWxHalfhr0me9xBNFdXHcT+66yNcBxctd0b/8m9QwhC X-Received: by 2002:a17:906:3b03:b0:a3e:87b7:4954 with SMTP id g3-20020a1709063b0300b00a3e87b74954mr7664583ejf.48.1709069287616; Tue, 27 Feb 2024 13:28:07 -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 lj17-20020a170906f9d100b00a4313cf6545si1026311ejb.95.2024.02.27.13.28.07; Tue, 27 Feb 2024 13:28:07 -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=@outlook.com header.s=selector1 header.b=F2fFWrii; arc=fail (body hash mismatch); 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=QUARANTINE dis=NONE) header.from=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id EE89B68CE23; Tue, 27 Feb 2024 23:28:03 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04olkn2036.outbound.protection.outlook.com [40.92.74.36]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5D68068CB1D for ; Tue, 27 Feb 2024 23:27:57 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=C3OfNxCLjOL3uzyzl0fF6/feA5phqDFTpOOn2B9mCeMe7YV9ykTn8lJ8rCHrVN3jDJmydagvMsLT+GJlRcaUdoZoflDNcuIGPTrIsEjIa8u2FLlg4m3HETCY4Ew3nuD0tSCD+5H/3ZT8XGX6AdBpGqJdR34zFh/TNmAjpAXuk3b5EqvlQaxJUQpeDqEbrle7XDjHP19yYQUlxbSAbFvDAOPlPnCsjwfx46dZwY/gZtRG5KjpwBrFXJ8BJMSnP3YFjsGVJV+HMRg6aq7YvF7riEmjIl29Ub5seZGi9fb4y1gXGoz7MMhWggZOa6vagkHs7HBe0dXX4tLMxyD23ssFeQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=jbTFHIL8TLGE87pdlQc4/YAEuRyniW4YLnHQtWQc9XE=; b=lGvqlFduK5ibp0BFvMbmfv6z0UKuHtY1Bd9w6X6ibMyY8UudAcn0OVjRn/HI7o1jNpht6PAygQC8WZ+tnZ+n2JZrP6kHcuhfcG/pEcYAwyxmANc+JzfXD2r7rtNQ+Vym2jcvmhXKyJ8n1lDTm+4MBI87sWjcycpRYw4jSHjnmNBcjvK5ho9rttmaBKMUaq/7LV2PKVG3USXW8dSn25cYbfNSKxm/JkEv5susBvkZMa0V1ctSYQLWt4wJqFkUBUqmbLYLdWVqQW1rUGtGvY7isH5Pd6bxQpRnSAlDiYamdk3RFcHqDAYs6QeXh4tlxKykcnQtxEQQXev6dwWZzaFQLQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jbTFHIL8TLGE87pdlQc4/YAEuRyniW4YLnHQtWQc9XE=; b=F2fFWrii1teRE6wPgKf20KMIId2wM3mOg5L7Bu19sjOBEpC2h22mvYwJM1ZZu9VHp5utVrq9t4ldmebtHdZqV90ugmqN9/mPW1c+TxgorvWQx9CP/8+VqsHuqL8qzvmjUkth2mMz9XECeTDbYX9o14yn1Waz12q6oYHbr59JfPeURUDPWGzDlM3b+SokxfdcqlGLlN3v3d05PfukCEm2I+YF5JJDie+cD046qbXw5/66BEHUa8n8x7+uOBoOmr3HkApouORDHKflJKbcmzondur0aalEF9/NTBOJ0FFUB92TRJIY+icaDYcTt6C4/nk3atm7n3DHCzlsVvQHURiGRQ== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AS8P250MB0395.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:377::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7316.36; Tue, 27 Feb 2024 21:27:55 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d%5]) with mapi id 15.20.7316.023; Tue, 27 Feb 2024 21:27:55 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 27 Feb 2024 22:29:49 +0100 Message-ID: X-Mailer: git-send-email 2.40.1 X-TMN: [M71aaDRy1QsiZ0fsPXLLOrSa4D6oWpu//9+D0TICBuY=] X-ClientProxiedBy: FR0P281CA0126.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:97::6) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20240227212949.1777043-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|AS8P250MB0395:EE_ X-MS-Office365-Filtering-Correlation-Id: ed3cfdc9-1bc0-433a-789d-08dc37daf648 X-MS-Exchange-SLBlob-MailProps: Cq7lScuPrnoh573Ov4uul0xl4pTrThcmxE8Cy02iIaHSw6mz8W5pE974o47k8DPaOli6tAUr+q8mkmp0SGx5K8BBUcQnFzSGfiomtIRZIZ6C2UYEFYChprHa0nBCIWIq8a7/2Trk6ECkQhQvCDAsPAOPOaTL7W3dvpPTr22+hg7NbApkZb4jOnpFZPpPKeHvYf3YG/Nu+f6fnRtQW5kn6yTlUWX9041mOVovskh05NS19TkCrZtxMhII7lBy02Ic78mocl5n/z4j4+Gh7miTvcQsNcQ6rJKuNl5nDp98MAwGPfCXGHMP5IK17fT3UpCa+obmPVbpCjJ7BoTRNC0/97o/Xh2viiN/S3sTcLMGnn+lxuf3nxyHu5ca4B/Jdt3bHf8hnEuT+0ZZTzvDVMBt0DxdSPiAzUZQm1DSkaGeo2MiRyQZA3Vjrf/coq1qcbUfLUP2NRa4f/0TGgFRs+eaa19VIbmU+otbIulr9ARoDHgEGn9bCByDlvVpKfrV78r7B229AoB7bXJJpFexHChhhN9dsBnIWVG6+rdV55iIuj39d9Z77Je2yKhqN/KzvQVJTuyqhrBlclHqxNkJ7tFy2E37t17olMOBGlp68OJkB7BPFWNNXXaJUYqdI8dUrx2jqJZIkIEsCnzegTxFJ+gQOCRXeKZZY2E0zMvcnaaKeDD6W6N2PjU0VfOfHNsemeVzdalkhhUsRvzKcNYAyWajQdKkZYTtMjvgTuedKwxs5nQ5E1/n01XyMyL7HVMdmUtPYR8lLWP84K8= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qi5gVmBFsgf3rkngFsuO8dDGZWKjM+0oq1RBAxOq09LWN74QA5u7MGxdQxYk9CvgMxK9DRJR3+16w+P6wwgfZl/rLefgWKcQ/QIuJ1NImNTAqlRLZNA2XpI/ny4oiYLr5c2dBVBMlec9Jk2M3RxQES3ZEBOQRdo3HDSXfsAzGn6o/TTMsBrlWEMXZcAXeIzmg4JexeehiZD5bqWPuf5NtcjNlhgdCrV2OYIkBNDse/9KwdFFJ7OSVpYZUiQ6vcBjqU1lzN3wzUwWjkmXP3PvH8N0+13ZMZjfVac+nyKIn+6zWKhEhrWuUi4dxNqGG6TjDI2FiZy/UDwNXGWWu5WShuWVJJL0nfM2dKGn76toIX4GovLEAxP6EO8v/+Ca2PDlsGOcRQH53Ns4vQavkf4s6zH2fSdvDM0OVl3gb4qJNtW3eeHzkikWLb6Q9uuYW+hD95+/0zAgRiLuOMx6ME/1kGDhlaF76SQBjO7//UIGjT73b7uWSFTvO+JQUrUv5CMQFF0XO6g1TTXz790F6jb3gnJThNl5QOFSJESpVk8e/ykORhpWpSHTgH/iFFfCDJn2rZ9YIQDajI/AaDNSrv3fX9h7cb1Sf/egiZPXhdxl+zjB/3/EBVPjwed1FrpMSkIW X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: bdbuIw+UMf6gR1843MNqdmCT20nB9CRklJzorLQqtcCdrT4bZH4vPo3Oq0c+HZQYcWkPk/udEMXtpMzK9T7ByoZmhHTF0Q1nWMp+LEQTlUWXtsDK0Oa08449LpUN1UK9dEARUtWJ3HLbzv3UusQfPpFN7ZiSxFj6JKxrNIT6aXtEqLAgP0T7GNqKzRSUa6RSe2C2JRfDbhWS/N+mHphWIUlnbVydbBHLSwJIKf0WG2SLEy3lGbFGjkacqr7eSjQ5S7Ss29iKLF/JchPGyoATy6+UF/iGG5oaTFPcSJD5OYwCcelJ5idKIGabd3dBgixCwmHwXHkcF4sbKGmN1SLdOOt3qjtw7A896TDSaVGclahVh1CSaDRyWgnDCEbOSVRAqn1tVwYuL6fOZpHwG2l3dzhbIXnwubF3n7+LrPOI0u4KwutgOyHw0IQ0wZY9jawsZvf8aXD66JzPDqnJyCHc52i7q7s7D8EVs9iUMk1CBHux7JzAdjNyh8136iCznGJ79hhshiJLDMteoc5qaRznZYKbYFvCCKDq+WNfl5IwhDr6DaW+6+ckkngCewMg46hJz3+kDc4F0t08nYg3CwlT26h4+WvneUIUOyIoZ75u9Q6lpmUojPiPhoGN5J2ZrzyfpbZztW5BcDrI0kBBYYFArE/gO8Bdn7UC5n2OpLYvLI/AoFtM4pUWJhmlXTzLBDnjqggefP9mt1VOGF7s9c/tvNVfSrAjw6DsvLroLxK9IwklISiMf8q4fZ+aU/HozVV9vFeeriCg22UB/O/TChbPtdWLOi8yATO0B4g4YV4z9Y8v863fMavtmec6jJHjOk0T83lzY5TFocIqyfIwI4wMpC4wVk+FmlfVaPYUyNzBmd6JT2SKKJojutM/NFrySTGB5QqDVagkCj5k3pxXfRtGVVWOhWsupZH59CkFQbOWgbiltIIi8xe7BAeVtdsjQaOVOc7M4Jgdx/u/539XNc+GvFuycK6RsT+0KPt+PfytWg8YDzMepcIkZVXJ0r4N3ENr3Iq7qMQujEIw4ZR0FdbCIMG9ARVmoNoj4W18HmoXWrIeXoE7GptT7KlF8OWQvQUS/7xFDPTVDQZMNkuOn/4EuZeZZovfvzo5IVtEfgxra8kY/7NWiuFV0ogpUqGwSg675w45hvZl3DdNuzXimHOWRX3slB9DhYioFjBq87LxQ45rvUY6iL8NuGghsU4ZwqMh+55dx614JJ66dkb1qFn1rKWUDi0r1B5lQTYplnPkUufJ53n6+gtT0fxiR8YpcmBxNUtK9S4DNeou5B0gOZlQNQ== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ed3cfdc9-1bc0-433a-789d-08dc37daf648 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Feb 2024 21:27:55.5745 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8P250MB0395 Subject: [FFmpeg-devel] [PATCH] avcodec/mss[12]: Cleanup generically on init failure X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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" X-TUID: cXqNgSyRTjLo Signed-off-by: Andreas Rheinhardt --- libavcodec/mss1.c | 3 ++- libavcodec/mss2.c | 9 +++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/libavcodec/mss1.c b/libavcodec/mss1.c index fb5fc34ea1..5460673133 100644 --- a/libavcodec/mss1.c +++ b/libavcodec/mss1.c @@ -206,7 +206,7 @@ static av_cold int mss1_decode_init(AVCodecContext *avctx) ret = ff_mss12_decode_init(&c->ctx, 0, &c->sc, NULL); if (ret < 0) - av_frame_free(&c->pic); + return ret; avctx->pix_fmt = AV_PIX_FMT_PAL8; @@ -233,4 +233,5 @@ const FFCodec ff_mss1_decoder = { .close = mss1_decode_end, FF_CODEC_DECODE_CB(mss1_decode_frame), .p.capabilities = AV_CODEC_CAP_DR1, + .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; diff --git a/libavcodec/mss2.c b/libavcodec/mss2.c index 2237cc8bb1..d54a1220b5 100644 --- a/libavcodec/mss2.c +++ b/libavcodec/mss2.c @@ -886,14 +886,10 @@ static av_cold int mss2_decode_init(AVCodecContext *avctx) c->pal_stride = c->mask_stride; c->pal_pic = av_mallocz(c->pal_stride * avctx->height); c->last_pal_pic = av_mallocz(c->pal_stride * avctx->height); - if (!c->pal_pic || !c->last_pal_pic || !ctx->last_pic) { - mss2_decode_end(avctx); + if (!c->pal_pic || !c->last_pal_pic || !ctx->last_pic) return AVERROR(ENOMEM); - } - if (ret = wmv9_init(avctx)) { - mss2_decode_end(avctx); + if (ret = wmv9_init(avctx)) return ret; - } ff_mss2dsp_init(&ctx->dsp); avctx->pix_fmt = c->free_colours == 127 ? AV_PIX_FMT_RGB555 @@ -913,4 +909,5 @@ const FFCodec ff_mss2_decoder = { .close = mss2_decode_end, FF_CODEC_DECODE_CB(mss2_decode_frame), .p.capabilities = AV_CODEC_CAP_DR1, + .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, };