From patchwork Tue Feb 8 10:12:14 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 34164 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp661786iov; Tue, 8 Feb 2022 02:12:36 -0800 (PST) X-Google-Smtp-Source: ABdhPJznHy8U5piegtSN1qAEQU2QsS68RfCJgLD0SYdyGdvrtxYssMgaml5Cmn+DDkWNpYcNtxbA X-Received: by 2002:a05:6402:1ac7:: with SMTP id ba7mr3731582edb.156.1644315155936; Tue, 08 Feb 2022 02:12:35 -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 dn2si8719520ejc.146.2022.02.08.02.12.35; Tue, 08 Feb 2022 02:12:35 -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=mg2T8TXM; 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 26CA068B229; Tue, 8 Feb 2022 12:12:32 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05olkn2036.outbound.protection.outlook.com [40.92.90.36]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id BEDCE68B194 for ; Tue, 8 Feb 2022 12:12:25 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=A9U/u84SQiqMY4gTednri2wTzt+FAk7zghdWgRScR8jtBDUcL79fLlB3rCGzrBs4nNUJlbbMlWOFFMeC/Z0ndVCVTPV2kmdDDAuqNehzHz0ECK9H+9jJ72omk1Bkw+6HodHFVDmI1OWAIDYihLD642GwR3UpzE1X51+kGKDILHmS9Rxpo3QJFAXzQsDQ/Fe+PseANBOV0VQVir9JM5TI1lSxQu7ztM6cUfHqM69b+yeNCZK/D1986MtXO6O1j6rZmUvu6RgtUg1PSRUbOnHQdSTK6Zd3r9lUu8/GHQ4/knz3wDMAWQb0tggJZ9hXX8KcJMY+T8wQ1BUHskE4S1CbNg== 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=Si57kzi9xFcI0m9cBM9WTEFQBI9eV+ux4cVrkDGf0a4=; b=JjtGt8zyfHlSHUlA/x/4lg+eXI/6hYVkCbJSdTQMCXukwEYp1+SNVImqEc7oaWB5Sx/WB9Fnd52m+rXchmT6IFCDx/0hJVttusTvP7krQxcQ5AVo4xHWGJuZGmILUNShw5zf2DkSQylRN/c7M6nbjZ/+O5gM9hy24vVFAcBUaoAamC3fFaIeXb2Uk61b4A65ZugkhgzkTwPvAhHJxJHc+RTM0VrqRk2Cz0eIPA8XBcBcLVFWHKCjeTd5vM94ger95AdDZvWyTIH8o4pEn5VwmxebrLxie/qFVHGJKDD0Ruh7nbbMzaikPdElPZ9JD1AnUXjmZdxEenntgrVKECryyg== 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=Si57kzi9xFcI0m9cBM9WTEFQBI9eV+ux4cVrkDGf0a4=; b=mg2T8TXMkehz1VIs9O6N/LwtmP1O41ZzZc0BqOB/Sq3VgavNRoX+IcSYsBFM2lYlcOvyCJdYmus8/LWVKHZU19cxp29oS6GbglwXnCWPUSbzdvAQRH6vHwzY9VHnroRkobyM6A8RA791XufpTRh8cmlEYyhBjKkafKqqvpz35AaV5DMH81FxSyy35A3x/uQOjUQHPo92OpGx7kpH8Tr16389oXeqoQL+JyOXiOHpOoNxKCszjONy9Icaywl3FwO+VG8Fd2Nn1LlYbjEgDJFgBzeCoqctLzyFKcKyEHr5B8Th6gRUZ2gbDQPvtMZZBEBOct5YuMzagWvDUQ95y7x3kQ== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by VI1PR03MB4382.eurprd03.prod.outlook.com (2603:10a6:803:55::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.18; Tue, 8 Feb 2022 10:12:23 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%6]) with mapi id 15.20.4951.019; Tue, 8 Feb 2022 10:12:23 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 8 Feb 2022 11:12:14 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 X-TMN: [pJGaK6kOvVz0Bs2Witswcstv+cLQE4YU] X-ClientProxiedBy: FR0P281CA0043.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:48::8) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220208101214.1071990-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 044e421d-caf9-4d51-5c87-08d9eaeb7fda X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiQlB9bKabCTlQohqaUcoxYjTJWMzjH6gTocBAwsHdNlNfeyDldeiRECmpAeC9dBX/yMjCS0BUMG2mB9aWuul8Hapji9PL54KoVE1j4D8RGPYfHJMm1SzAxH0EKjT2OGtlLJhz5cealNPtYQwkAYOQgoiovYRewK89iP0QrGKG9RogG67rOd8x8nT1s5iJjwIpeYo6KZC5XIGh/lt7CcTZtBE//Rk5WDJSmUVjWgB9T2Z72r5M0eiP8pNNx5FOsE7mazH1TPCt/ikJhB/7RHtW364iHVwiKQNAAgajhTQ2UWVGV8on9+af1CbHmfV3FMfMNqF8jniY3irQOHz6J/LaqCVOTgej2/cEU5jdDsS198zdcVSUAPZgrn3G7QM/qP+bSuVUIyLc9MZ2SNXWqvul/FkrvJ3/ah5C+XF+R7VB0UIbBQMqkfXEU8qyLBNh8ZR3NmGR8xZZZ/R0TUmeGNGZfjQwbZgP65oYl/6Rq5SYWMyv+CjsHO7CJJ9v9lKN2iJKJPGt2Yvz4fcaP5hXpHRiKZhMQ4i09tXOlEkQLqhelluwRtJGgiBvsppAkVqVStiLp2jJJksgFfqp2OH2zvJ7OMzrZnhs+R+/+jzcE7ddUHgbmA14O7kfzu0Mtz5tccUaXHOSvcy4dnnzc7Wy1KZUYx0Yoybq5J4DMKNqitkZi1tlQwCcnARIngxTO9mDWO6NndeQe9IDLAqA5TLECditmvvcyncyWxLK2o+LKO7UJKpCCOpoCji4w+NL/94Uljw6M= X-MS-TrafficTypeDiagnostic: VI1PR03MB4382:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 6jUULS6ZmvyJfjP+lCCKrFEA4Xyhv3d9aXlLgngb1+Tt9AbEsMniJpByiOGj1GRBUAV4rNcjy2qo71uO4PYIRoq+yKLwnS99l0CJbmQPLSTd40BsznmlwFfB5zNc/P1rM09kZpgF4gXUXJC05GqGA/vXG1Z0EAZA0mMQBwMnoH/LQVz6oROoWmXqUBqjoMU1W/TEn5kp2wCi8StCiftMRfIEdGD9Nag1lJGPYktAjr6f5cjJ1XpdlAgdTgvfpWltknSBqOgiU98WlUnhokEJwoWz2wG8K0UhejINAUWsxZdHOEE/xWixkz/RpVxAbOsz7MvgBQdgY0j3Qoaa9EQWHtF4Q2XnjIKMm+Hj0uFarsDeMDAp7SKWe1LHBjT5b8oywVOHGXu4gBD+tr1CBXlzuHDJDKTUOukefai0VmSFldvlD3AmNF1ioNxPGNMMsINWrwLgmYhn7qwoO8OqcekEASfZinSqY6hYwZMppfpWI2kYhZGRWhZn449L51UoNxFo0BZRvoxXK/ohWf0ZV0MAOrigG+p2JM3QciX1/6LpzIgDQXvE2S/wLUl5Gt/Fhu5QPERrm6/XyFsa7blBcueToA== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Ho6tdZH/oJ4s6qWtz1Faaukf8WwMVoupa0MYrpNQ3ycSED3FL2Aoicik3Nvf9z4fcz39X1iZDEw7GonogF25cX4KViff2wItl+mok5/dLL5349sJ20w0AlxyoK9lj/IKeilbePLI0wRQy6m5lDOPQCxWegxwv0b11ZPOU/oh9I+xPOMcnDosJJaqWwFgChgnxRXShgv4uOWN+oXPIzw2xq4sVIc1CRdrNYEZ+oeKIWesEwhHgR88d39EAnmIturOgYSvsCFwnOJGpYfA8nz1xrT+KCVyaRI+9CukIOiW7w3jPeI59FjPQt/gVulGGVzytQsqHRJOc+Qmom4+hP3GvibRr39D3o6hJRPifqxEiSQ8ZuNKYl7/AGd5fb+I0vSUhDIdyQsniQMjEe80fzCNwaGCUiI2XwbaHCW35WTOKv1KaYGNExL2Tx5dGWeQE8XlD8aal/Dw/UF+YliMfidmtRbUb/lHSqBGjr1iJ2rQSNG9XnhSV7LZD4inDFTPIw3G8pJlrii1qbq7fZAq9hq0WZfkp/owFKWQNGk/WRtAxM1vDuf96fiUJpH9wlW9mVWZZftWIBnm5iCIUp72XikRI56e9WreVWIDj5mBWCY5a7K6tma+ScD/QByOWPI6i8kBpflThmhUPnlBrDBD0tOwFaoShDRxgEosnSNihXiEPEHdtzqjo4d3wSeStDMjDc+kNmchxC40pK0GYKEWXnROkAS2OrLIedxb316sOeYEDyugX/efUu9iMOitwORyJ8wh2+ilv7SpFyNNg+MONX6d1Yrtx4aUHrP5F1boxaDJczL+p/ovQVNyT8gE0AqmwNhs2VuBu6mmRskX4XB7/ptYHjrQndVjMWNc0A4veZAo281q9GrZTA2noKyBTPMGCyYv/1Aj9i9oH5rq1Lml7AI1sk0HMOeXCR2tBZWOoHetDInlXloi48G0ivP4V6B0Jn61EK/qC3vRyPeMCSlqgFnYgA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 044e421d-caf9-4d51-5c87-08d9eaeb7fda X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Feb 2022 10:12:23.5210 (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: VI1PR03MB4382 Subject: [FFmpeg-devel] [PATCH] avcodec/pngdec: 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: zlKMbHgz7nUJ Signed-off-by: Andreas Rheinhardt --- I did not add these codecs the last time I searched for codecs to add the FF_CODEC_CAP_INIT_CLEANUP because I was unsure whether calling ff_thread_release_buffer() on a NULL frame was safe (it is). libavcodec/pngdec.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c index 3c00007907..6a22f8d9d8 100644 --- a/libavcodec/pngdec.c +++ b/libavcodec/pngdec.c @@ -1696,11 +1696,8 @@ static av_cold int png_dec_init(AVCodecContext *avctx) s->avctx = avctx; s->last_picture.f = av_frame_alloc(); s->picture.f = av_frame_alloc(); - if (!s->last_picture.f || !s->picture.f) { - av_frame_free(&s->last_picture.f); - av_frame_free(&s->picture.f); + if (!s->last_picture.f || !s->picture.f) return AVERROR(ENOMEM); - } ff_pngdsp_init(&s->dsp); @@ -1741,7 +1738,7 @@ const AVCodec ff_apng_decoder = { .decode = decode_frame_apng, .update_thread_context = ONLY_IF_THREADS_ENABLED(update_thread_context), .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS /*| AV_CODEC_CAP_DRAW_HORIZ_BAND*/, - .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | + .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_ALLOCATE_PROGRESS, }; #endif @@ -1759,6 +1756,6 @@ const AVCodec ff_png_decoder = { .update_thread_context = ONLY_IF_THREADS_ENABLED(update_thread_context), .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS /*| AV_CODEC_CAP_DRAW_HORIZ_BAND*/, .caps_internal = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM | FF_CODEC_CAP_INIT_THREADSAFE | - FF_CODEC_CAP_ALLOCATE_PROGRESS, + FF_CODEC_CAP_ALLOCATE_PROGRESS | FF_CODEC_CAP_INIT_CLEANUP, }; #endif