From patchwork Sun Aug 21 01:36:56 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 37373 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:139a:b0:8f:1db5:eae2 with SMTP id w26csp587450pzh; Sat, 20 Aug 2022 18:37:33 -0700 (PDT) X-Google-Smtp-Source: AA6agR4ua/ouDbyN5qKxGWpU29Ppmgq5C/LMsHzWRQuftXUMkGHLU7FSmtP+gUTLmmMZpiKBTBiG X-Received: by 2002:a17:907:2c41:b0:73c:931e:5179 with SMTP id hf1-20020a1709072c4100b0073c931e5179mr6857852ejc.42.1661045853108; Sat, 20 Aug 2022 18:37:33 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id h6-20020a05640250c600b0044660f40ed5si3813722edb.256.2022.08.20.18.37.32; Sat, 20 Aug 2022 18:37:33 -0700 (PDT) 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=DxWlPo0r; 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 38AF968B9C0; Sun, 21 Aug 2022 04:37:24 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-oln040092067019.outbound.protection.outlook.com [40.92.67.19]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id ED42968B83F for ; Sun, 21 Aug 2022 04:37:17 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PQfGgpZgYHRs0LOifEyryGFv3BlXFZr/OLjQOTuS9F/8gLyk8J5grMbUmtgd9JsXeZ1EBGDPodT8F4r4QrGydpXOXm0bcZV7gzvJRbCM+qF66SyhX0LGh8O3WuZK55fyfn5SGDRQvIMVjk/8w9Ufy1g+aL8OR2MvVjfNmlxghVvIIQ9CRoDXt4Of/4FxyEVrkNApXqfqktY8ItYC4GHvE5i01ToLuezmESgVI+2vXtQfP7IJU3lzLHSdcskioKJMm4EtyEpD+/P+xoh6A9O0w1URP0+g/yMK65OU/U1gty93VrSsgrZJUDMJq0eYTx1iOLYKJfkkuQvrIV42rqTtYA== 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=gmmETuc0pzGW9qFUtz26e8+chUBMSILcIsWG6dEUreE=; b=eaJQ3ZngGe5t5GkH4HzBls05xPUJ7Zfc9Bxu1Z2qRKOJ450G2zQf0Kq+vmvX7kvivs6k+0HkaqGfeDuUa3VxLf3lkW/GET/qPJzoDBAybnaq2rK4Q/Y4XNeeeI3e54CfC7SP0Av4YwSOA0q6kCqouHsxgudXjtKY+3s1p1o2LliXgdmcPiuWjP2mXYpWzV2pCHJK5/52frZ7QavEg/9NvZxsAwxjRVb1Xx4BAvaJ+UAJCvKJ9UlAZbYxfWRWLzizxOA+/WikMvIu6aVbAYF09BsboSPN88ZSc6BQVErBZZD5yrHB/Le6OB2rkTGFb/xZwWB+Di7qsJSYBCsHBPX/oA== 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=gmmETuc0pzGW9qFUtz26e8+chUBMSILcIsWG6dEUreE=; b=DxWlPo0rEj01Kb8ZqJ7Xv0o1RORUjCEjptMuj/0CUeE7gn48HexEF7cj0PzT0/Isn3A+FRf16tfK9TprHk1SD2VicdCU5OdWeO5TeDyfJ6T5wYWewIAayYREv12wnNalRBD08NKNvNDlxM8Zty9yaCGITsj8ZvjbR1kT5pf3psbxK0Vzid7eGzeVDAdGAhwd++chLquFeoW//PhLDG7g2L1cHMifZ0TDnRTLQjb8vdeOr9pP5js8WJ9BgxUQI+m96ogVpsCoynScvfjEjCP1j0CJ1Uqw22c8R1FQtVwm6kl3pUumY8Nw4tXE2Ob6Gt7yqn0aOa+CXN+TjotC4M6rVg== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by AM5PR0102MB2819.eurprd01.prod.exchangelabs.com (2603:10a6:206:5::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.21; Sun, 21 Aug 2022 01:37:09 +0000 Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::210e:b627:bcc9:8c46]) by DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::210e:b627:bcc9:8c46%11]) with mapi id 15.20.5546.021; Sun, 21 Aug 2022 01:37:09 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sun, 21 Aug 2022 03:36:56 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [SUEJkvGjPQkPpequRs6BJOsFeu++uIT6] X-ClientProxiedBy: ZRAP278CA0005.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:10::15) To DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) X-Microsoft-Original-Message-ID: <20220821013656.1345943-3-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a28ed6a8-1c7f-4b31-b5fd-08da8315a980 X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNXOjPmV/Ff/svjf1oSkl2m09zRR4ou825nQhGhQYdju7sMh8Zddowsbing8O831/rsrCMriE9lrPPeFUe1OIzhws9vgGokid8UkA0nux0FvtFpw1ca5IaILj9G+m0EPLdf2Rd+KYzwytPGYjskfDngt1USOvXcklOZy29veGt4ce4YIK/kelqCrnVoQR4r+4Y/5kgTe/v2FPQ1N5Yb8NaBS1pPZAia7Fh8cVkJsGQ3E9jNPCVCYz4LqEBrnP0/6L2rb+HEWI+roFXJGnk34nuLEYthHdnKBe5peL1VZHUeEhsKSQp44gc9w/DmVT+mhIlkoiwRG7MvOmR9mItOx7L8ZaCVTFgJrbtVc5n+5gB+JFoSsnB/xSqNsD2OfAoQ/9524RDmwaHGCQEQ45OAsBcilDsVFEFRBiLq0SgZbHTvyc40QHIWVktFV0pe9W8KZQEQOaKbptUpX/7zafFtRKZMPI2vwuRbo50Lj2BFObTVVuEXD8hbIIpDGOJoHh1hmIFmykUN8MTY+Fdl7j1JPOnt4eGn/Y/jcJQqNLPGwV4MRXRwL4uwDjULYl4XAlGJyXyZCzlw9K1Gia6lS8NlrlU+rYRq/QkC5cymRNFDSdwtc1MVrFDTsVUUIGvVTHgN+V3GgOo7CXbsxDJGhNXJcoJlxM1UkhqmIXjPozzu1TgqMdFmAYT00KQ98UETaMaGi7m3mBHnBI8/DaO+PqQ6GWibSeaxHUSDGF6Y= X-MS-TrafficTypeDiagnostic: AM5PR0102MB2819:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: lg2oNJDr1yU4psYBDPLBA4mUM5+jKPQwdUcBCnkDQDnUJhtzjhsThXVEcAgIkPFrpYv9F/meYm3FE3PS4OTwq5TxuTcuuLUqA+yMu3ZIRZpwQ7mNmomMG6Y2p0QqakzIYt4f3asjMSmt3dhV1lgw1QPBASDFLWFrw/sF+bnytHn8Atd3GMg/L0CZANF0HDp0ZCbi6BWPMBsPh6swL09XCPiE3g/A7k5ZDMpZ2o1NK/efynSordoknvPznZKrLFi6L+3IGZUC9ZcB6OKEXJIgdFO/JxWjK43oewUNn9krEyqTwdYPjOdfdP0jNLG0p3SShKhG8f5m9sm9TRy6P7IGxUDEhR5ZOAzu701pvgNmpuxJUTokblT5c+25Np4C+QCcaj73WDDaj72sKrtrtQVLFhYHzyDQOOXtzV0kRlMRk3OTf/LCTuBTJtZ4ykhrbKRvxlcHjJEF+StrEFemJzwzje8XotBHZn0XQZnEr+1ixQ92vQkpxXtwNgU5GP5qt6c2QLV/DwqP0QPZliTVObAWB5iBHwBmhO2cgYPLjoNswFhZ2mQLfJdbYgVa8pD1AbhhS3o7VuDzkiwbM+3F3R+eonW3Q0Ev37rAEMDeNHmdLe0RCHLjWYVzEiGk/kbsk68qFFlb3zvBzkY5Oy0Q8hDSbg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: BSv0DgUFNrfOXFbB0OZM8Ima8FG2mrhJar5SpqKfWACcaLsBawS/hLfL9K3mWNhuVnOa7tifSYkUAPkNdTgg73E77in+bFqyDBaJALNlTrBcCLS2X7Jp82ZrrC+SggfSzkYhNyi36gqQnxIW76lEK56wSCvNRyH8OYXu6gPHWSCxPBLL/5TSNm06hT+M5wHn48hMpLaQcyhi28s9+oV2O7mz2nhkJ9kuTgg8ZBCGAn896rEDksgamXeXpHu+xISuTIunfWtXnTTJNsRVUJQVhLJ8q/xaqlfk2twYmJLWJ/ODZsOS3MQ6fb1QzqNrJmCNf5fQwFB6IyaIRmIN+KnShvBqg8EA6W0UWaesyTlgE9eb36Av3oQT7umv7LhxWOvdmg/OnTl8/0xODMO0px7CeL/onb2fG5OUTT75lHkeEXqvVin3kp0OEoJCsJ6IFWg2I7Nmsg107SfTpcMd6QnBftyIf87zUV1ZXXcoyOfanGO/ATLw5W3nYMrLC8VvvnQQJqofR7YP/BzoEJzemn8oDwQOCA3GUtIaM2kVNgt11+6v+JHGtdjPGTXIsPPkj6sDhj6An000n+/M6nmHn4VZ0hWZfBJalF8XNDTk1gr9tpSoPk3DIXI9GIqgl9PCkHiKVlPVrlw9eGBMmvBZL0zjARGZlyQ6DNm3Gv99wnESGlzIjFtz2oYiisPovpXJKN18aZRdeZDAKRE43/FF1I0PdNt9Y9EP/y4td9q/xPtyr6UuQvXVXQYUj4Sf9I7+ZTAHvnR8Io+bZkYcuA02ivUXBtPm5x7lipbBpmkSBEiADhWAw5rQfjpmDmdwOJz415Yy5AnJscD6t0MiqbRIyYY3WGkCJLbfBYEHq/7DhUDjjNX9MdzWsMxNmwx/4gam/6ZnK41mI+4+BJ0dsVPXe6GZh7HjM+GDMZ/G974tigR4I5+XPxZaoG4xVtACziqeQWWNiBLyoZMECb6iGizoDj0yhHYQdtl9EW95ZyHeF7zJbfIquegb4KMhZw24hAgSaFM49Wfo5T866+9yR6ihTSD7FiRGbEP2hJWbCGceIJwUXFDidaSVXvFh8u4JLSxx7OCCFxv6Ea6FUtMpgChKYDJCiDgKc11eh+A4hrdotoxoeSzhK7Q0wEh/vnMW0OOUpDkiNRf0G5vJjm1+MV7d+T5MvKaa/qzwS8IZYXUcfuVXB/ZfCzMsx0e/syaCRNn9bsABD1Mui5bzzDVsSNpu40m3VL87DI0MdWDOBMiJxfIo6bKXzW++9IqbvFuEvaHYQMcic4BmfxYmWX9F7fvI9cs9NJfSHGejT/lzw9qJM8n7vag= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a28ed6a8-1c7f-4b31-b5fd-08da8315a980 X-MS-Exchange-CrossTenant-AuthSource: DB6PR0101MB2214.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2022 01:37:09.0651 (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: AM5PR0102MB2819 Subject: [FFmpeg-devel] [PATCH 4/4] avcodec/pngdec: Improve decoding text chunks 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: ct2FZfNf1Nw/ By checking immediately whether the first allocation was successfull one can simplify the cleanup code in case of errors. Signed-off-by: Andreas Rheinhardt --- libavcodec/pngdec.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c index 132ad40dc9..1d6ca7f4c3 100644 --- a/libavcodec/pngdec.c +++ b/libavcodec/pngdec.c @@ -551,12 +551,13 @@ static int decode_text_chunk(PNGDecContext *s, GetByteContext *gb, int compresse text_len = data_end - data; } - kw_utf8 = iso88591_to_utf8(keyword, keyword_end - keyword); txt_utf8 = iso88591_to_utf8(text, text_len); if (compressed) av_bprint_finalize(&bp, NULL); - if (!(kw_utf8 && txt_utf8)) { - av_free(kw_utf8); + if (!txt_utf8) + return AVERROR(ENOMEM); + kw_utf8 = iso88591_to_utf8(keyword, keyword_end - keyword); + if (!kw_utf8) { av_free(txt_utf8); return AVERROR(ENOMEM); }