From patchwork Sun Aug 21 01:36:54 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 37371 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:139a:b0:8f:1db5:eae2 with SMTP id w26csp587374pzh; Sat, 20 Aug 2022 18:37:17 -0700 (PDT) X-Google-Smtp-Source: AA6agR6NQrr3AJI0KyB0U/WaT6i4MpCTF8pHEfNaKYbCH4WPpD5jhQZvMKovxr/ZO73gzN0o8hVS X-Received: by 2002:aa7:cd58:0:b0:446:d:905 with SMTP id v24-20020aa7cd58000000b00446000d0905mr11187637edw.191.1661045837153; Sat, 20 Aug 2022 18:37:17 -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 gs7-20020a1709072d0700b0073097d4bdb9si6530249ejc.681.2022.08.20.18.37.16; Sat, 20 Aug 2022 18:37:17 -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="uGP/uvvt"; 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 1A8C568B9AB; Sun, 21 Aug 2022 04:37:14 +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 C1FFA68B45F for ; Sun, 21 Aug 2022 04:37:07 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=khvtblz2lLMyW4cTeITi4yjW+LQBRFw5OcnVougBPSledk5AK5JJc53ZAZ0fZJrFFK3rkrdwKj6S2SdugY1eltWmtiO8sDKUOZXwfy9v5TPbamHKGojN3yCIs/wJEjIZ5eFRNM+zJmASFbyDFtWOlgyb4tf8pgIJ0kBodDvJwv2bovOC8v0rFF9apI2dVDowmGq6FeiJOYU6vCw25neQ8moswoJgbOfCgCFmCnYWHMRRM1JF+EjjylhKAhjp4IyJzBTvnphQWaBSZzAuSSP8yvweEiJZwDf+r9Cvk5phA2oZTUa2MncTIMbLAaosEFy86ZFnxhSEx6xTK+7CjQhsjg== 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=cP6Lia3jGEevPh/93rKCrn2EcM8Dcad5PFoCdK3MZlY=; b=Ayq+yJqlbaPmJAIpHYAgle07GjZgA1er5fpQDOG7VdIHBaSyJMkUeCyo1Q7EHUPaAzTrHpd1laQQn6OIdfw8kphORmh6vVxTvGXgPbzSrbl1W387X9717AFlH8Q1MiWkxq40CQOb6UH+w2Qx9INE8l0EMqFM+wMPMf+tVsBDV1n5hCEabRgu5av7ONLQ5c+H2naowE1DsD1V8ZBsapyb+nuWdHHGOu4gNMXGCily2ui5NZz4rYH4r7M1XJvu5O5mtbDFe/ly6b0strhKcr3gyVzs3E9EA0xrna5b1N0ybVj434Um1KZ//lKpIoAA2NQEjRzo3GoVYNoQ3RZmD09U1Q== 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=cP6Lia3jGEevPh/93rKCrn2EcM8Dcad5PFoCdK3MZlY=; b=uGP/uvvtli1t+YlGpR76NLkOIY39tAO8Slz3q9KM2z78Je0n97T1Bg66hUPp/3aM4WwQfXq6e3SQe6YD3fh2xzt7hiqQXoBs5+zCjmh0CUbWE2FURdcMGd8ykNlNbk3Hsb/oa79pLbKU8Qla4inYTNj9r9T7HpoXfaN1o9WCaiZSrpsHft3GsAA9Ci7OEEf/yYz6RmscbUeh7IBo/FFYv4UHOKEnvYzpRQ/bpdoyEzNVCfvL9PvPq3ELmvY+lSuP+RxUnPVwGT9aZRPGmtgxnz78XrTjKJF9PO0UIy3g4qJKpXZd4Ud4OxEr73yzx315sVldg5UmCtDWmH87Z6EbCg== 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:06 +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:05 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sun, 21 Aug 2022 03:36:54 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [oEtUVG0nMVHrox/fJRAvwQycOW7lU/7z] 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-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6df2d139-bb4a-47ea-d624-08da8315a790 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiSZafVhYkhL3mEj/gWHL/2XXIRDV4OC3iaTnA0zMAnSIs2SiI8lh3U2R3kXFCxz7zjpbQxC38ENO1d1tIWCsN2OIXPAbBt097OCpWu333NFaAupfIw/akBJg6HTxoGb12aZpoyprgex/wJ8hphesLdatqHwU9sK+7JSfRc6yTH00iN0K58JiyU6BExYamBkeGSaQi22v+pxETosbHaJMCYV5bp8Bj0jYrmdKeO1bk3syPYjU9+0vM8snQhpNKwZoMsf90aINfY0DWh2sFtHjU8LpOnpiICtcjYU9mty/TR1Ceoe9INnFNvJ2isy5cXBxmwVXjtY6DfKLcOfUmUbMiBMBHb+/ToVxO6JiB1dAvSd/EPiAx4jIzLtsDqviA0KRhz3QSCkHIld+0+4NdT7wZsP2rQCLvOiZ02m5hLpvANZQLrFtLSIaxECunk8/PokA0nWhuzEJ6OglqChoLFX6I69utiXzd1GMS7XGNBrYfH6ahTz3q23nwxeFP/fPvGf7alZmsyEK+kqsDYOOnvMLyUBxjhkvNj/NXHBT4LwYItYiwUYd8mRhpBIiFAniYS9xqvoLcfgRCmHKhWwjiH/SV2jM7o1KYMbu44X5JqHCaD9Thsk531kn9PuEx0crp8Mk9UYC3uMZd5hrj3uhvanzMI7Jg8Xkwqa9XWKt4w4NEdw94cIrNt/4JXQcTUIui7lcKhLvvqqqE9uLBINntiUAy+griEZm+QdoCmFvEYB9dT2/O4wcUYBeumVskWsQn9RYP0= X-MS-TrafficTypeDiagnostic: AM5PR0102MB2819:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: WCy803lX7iZVkmN7m3SUlhb4ktnB+CWyIrS+DRPRrIZcECaXEl5qyrjSEvxe+UpnwB+vrIw93Do9tQo/dEoK4jP4cfos+YjOaQxtvPKJyCkc/2jaDDlzKJMWMiFuGb2YrCNenXY4uoB/XWENvhYJmWD79VmLHuscC158Q1WZJRXqxcL58iZYKPzoF2fCbyVAs2Uo/Wl5jNJCDUgLB6bEzbsW3mEWaYcz0ggkvnnP3VVfe11V+I1F/BvtLTXUMwPegxHylGmR7IPQQ/nLtAyypQPPa41h1kmpJvmtIFjlmpicwL86OpuC2OkMWjt3wC2NnXCV0Mqdzk9hpFIOiDjgvz9C+TNS3+FHQF/wmQOyNRxgnn0F0SP6w+7oOA98zjA2OS9JzQt98efq5Bv67OgALm4/BvZDdHS55J0eOE+f8+mthsM1r3Jv2hXIZ+t/uTyhS5sm1KngYlP4XSYmwMm2wd4FubzMljdpHvZHCPDl64Pxsm0aH7XjXw95qqv/i18/Gx94Plq5w9mDlQxLrpPw9aNZI5dFnVg3Z7AVdGZJa0xZ20OvTenb6UwH0vOzYdwR5Gky2s2NxXEdhNnR4Jgatv7A/N3M96q/IGjkwzVNIc+bHPGi+sSh2P5nWHl+r+N0Gf4Nkm76fONSybxeSDFaww== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: eGAL9OgfY5YFu+txIeRgFNHv9XafN8aAfNPw+BxLjdSk5ZMCiVfRmBYvZ4z/sD9f0X0tEQpa89Ot6VeoDLBNAagACL8GsKb/u2+Pn94P25BNoTyQiWza2+a9+oXH5W7wpUuMv0kI+dUObyOsh3AHr4LxtozYZLAMaFZ82u6CtZYfKR5iXO0rJORFiuMuqrRw6i4wx31aeVSYwj0BMhW6M7b8JWG5GjtOQ550IN71uWhIgR0f9DZfLzW+4+fXNtTeA4XWQde7m3JYJwPKLaeWwzEUA8dnrP+DSGY84HDn6iV69DVXJg3jzdAyB65YTlrk7v4Lio9J0djxJpYKztoYdlBm34a2FMSPMedQNvDQA9EPk6HPx5sBJHuokyTM4mkos0nUe1dFwjtUOPIIxqPa2UqbMv5Tpg7Biet2K+dPI6tsXV2thZYYpgl2MVDSrssGxtCuwvUntwWWclvyMVpFUhhn1upTduFpEGa2+Kro9PYnBBKpcI1vxZA7MMYNV2udo/X0+fDTwEbm/G6WTQ5OycASmz3jy76b7YPewx/oX07lqSPfQPT7KNS5H0EaoRTlHELurTtC+X08beV42WOAlmUJV5ptJF/moBpbUYsiKXIKa62cdd0gkUDveCBm5qi67Jb4ikAsy9MmQVwMU5ennx6rFEgyDDE4X4LcK+XR0tV4vkGuzWtyHJXqf55xauRInp914wBzwaR3UYxmFP9sJqqP65n+ZXgYRKBMKtEBRc8OqRwr+hrmyxMsNdscTF+suaYrD976nxGLKhxeY876SG54uoWu0OgmG9rxB4Ro8xRUwADY3RgvNp9SJy0hU9KgUFGDXs1oClK79CrZFEtWYbwN4LHi51G8zGkoeyj4/5C3tTVSHVwA2N1dkW4YzEcPGIB3ObaVaAp7j36JykOr9JuiWxdlQCWOJ3gawvtGW81kxW4hUXNaLQbRMHpDCDPE9K4G/tVFOr3MTwscNYJSUuiSqo88Z4flRmAi8LWtxZ7FoDKOBdraFI0bLUV8CNC/zUfjvJu3MiyT+DrGRI9DN7CLgLsIcHG576jxNtR8HVGLkHgHLpCuZWNGgs8q7c9G+317Y3RWzno0AgZAcNaiomyxFWHz5vAIZ5NVSVXhVgMjAiMpf7M3YvM3lTTQ8zkUiV8T33O3Qlvs+qYN2dmIUGVocvSfe3TVFF9sY3JYQ9NUcnwPm18km0n+qAxhN6WgFkUNdpwngHtU/ojR0id++sLkSw4TmMvu4/MMcUhvLvQn0WAmRi+BAoRN7i0A9pHcVqxWeor1jOJ3YN2xovCqAnqQRIUUdiy/HQz2LEMktOU= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6df2d139-bb4a-47ea-d624-08da8315a790 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:05.8935 (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 2/4] avcodec/pngdec: Use internal AVBPrint string when parsing 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: Aj2UeKD+S8YQ One saves an allocation in case the string fits into the buffer. Signed-off-by: Andreas Rheinhardt --- libavcodec/pngdec.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c index 8a197d038d..189c3eee89 100644 --- a/libavcodec/pngdec.c +++ b/libavcodec/pngdec.c @@ -543,10 +543,8 @@ static int decode_text_chunk(PNGDecContext *s, GetByteContext *gb, int compresse return AVERROR_INVALIDDATA; if ((ret = decode_zbuf(&bp, data, data_end, s->avctx)) < 0) return ret; + text = bp.str; text_len = bp.len; - ret = av_bprint_finalize(&bp, (char **)&text); - if (ret < 0) - return ret; } else { text = (uint8_t *)data; text_len = data_end - text; @@ -554,8 +552,8 @@ static int decode_text_chunk(PNGDecContext *s, GetByteContext *gb, int compresse kw_utf8 = iso88591_to_utf8(keyword, keyword_end - keyword); txt_utf8 = iso88591_to_utf8(text, text_len); - if (text != data) - av_free(text); + if (compressed) + av_bprint_finalize(&bp, NULL); if (!(kw_utf8 && txt_utf8)) { av_free(kw_utf8); av_free(txt_utf8);