From patchwork Tue Nov 30 10:50:39 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 31841 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:d206:0:0:0:0:0 with SMTP id q6csp7466593iob; Tue, 30 Nov 2021 02:51:02 -0800 (PST) X-Google-Smtp-Source: ABdhPJwVfw2DJ60CFG0Xc0BF9tB+3mT6YSQhOrDVxMyFA4h48BpMV5y6xfvZqum/saEvhVgeGviT X-Received: by 2002:a17:907:3e1d:: with SMTP id hp29mr67083736ejc.70.1638269462632; Tue, 30 Nov 2021 02:51:02 -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 c14si36787521ede.582.2021.11.30.02.51.02; Tue, 30 Nov 2021 02:51:02 -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=A7jKSbRz; 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 05181680039; Tue, 30 Nov 2021 12:51:00 +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-oln040092074015.outbound.protection.outlook.com [40.92.74.15]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6239F680BA5 for ; Tue, 30 Nov 2021 12:50:53 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QXJERe4bmNyVx08+xM2K0JdGc1dWUFpwPU5dnBC1lhUiE/JNFtXn9iocE946zU10XEkIz6AuKFKScN4DWG7n67gn6m7Z6hmDGLW1iGb0F5OprWtYXjkwnQuaO1gxnvQy/H8VGdTyIFhk+TFyd4JjvxMNUYI6W8S7rMHh9v42WwnBJxxs/ISdNc8Cc1ijRvBjilJRBU521ytaU42K1tPeOoD6GNcuk6h4rjPO+fnOZzBRvipTb2tkuIt14g1R0DSYrRvquQrg3k7VTPXKTRKs2AqHyeGLzSZOOV4bhmnChOfYTzy9FHYpl92E656/Sp+5YsTKqQ8jjj3Bu8ka+f97zg== 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=/lRTxHbw9TWzlmLShbn82S3jYmXzAmpubVpjQJLVPbU=; b=i+Lo+kfFEz+oaFF6BLY274Xu/F2qv+aNcskKN14VTk/6fCXfGJ2eKTsCVlmBFeUJH2rd/3qJzATeWPoIWPDkTpFPu7CpwmuwrzLbGkgRFFcJUZSnSw2LQhwOGuqxUjEqgXtEEPZ3jpQI1jxJ0/qRwCkdw0TGiLfEs9RcVmpmmDMRIDs+yGHfGIb02vnkL+0idhWniK/p+3X1RFebIIwAsm31gsFNiHxsv6EYcaGqWunR8NPKUpfBccZg96L5BfOUl9tyBFp4ZWOWunF3UWPYreNhV0svn4RYrmoWfMo168KZbOTW67i5I9apUzXBPS3P6fGYDxkvkv/3s9+vmgR6Vw== 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=/lRTxHbw9TWzlmLShbn82S3jYmXzAmpubVpjQJLVPbU=; b=A7jKSbRzGFY+KUDXcWKxG7x5ABoDfk+FOc0L57vifgnEmUG1IPOc79PXs/2AgXkw+2PV593qYS04xTKrqtMlB+xqRFM8LsqDrFufZToV3sGszMJQN9rDUZ33zgANlT7bTDfYy7a1p3sOOan8yTQVI6yM+QKtyOIkt2u795Tqn+DoAVjbU0eN28a0LRGC+bBF5+eNUWcOuWdozp1liQ4xNUzpm00dFUp23Cu9pcmPO8Un1a1myyegTPtD5mTCrSyzs7fK1XQFmiCg/oY9st3zAyhYMN+Ee79HyInB2WXoTFAzvsbKAkSDocIsXdJcFnHs95nYTmwsIWT8jRSiF+ziVw== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM7PR03MB6532.eurprd03.prod.outlook.com (2603:10a6:20b:1c3::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4734.22; Tue, 30 Nov 2021 10:50:52 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::700f:d70b:3bb8:4d51]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::700f:d70b:3bb8:4d51%9]) with mapi id 15.20.4734.024; Tue, 30 Nov 2021 10:50:52 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 30 Nov 2021 11:50:39 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [UJg5JiPxYLXFCQ1SzDaRA8t009aTWcAM] X-ClientProxiedBy: AM0PR02CA0156.eurprd02.prod.outlook.com (2603:10a6:20b:28d::23) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211130105043.129538-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sblaptop.fritz.box (188.192.248.74) by AM0PR02CA0156.eurprd02.prod.outlook.com (2603:10a6:20b:28d::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4734.22 via Frontend Transport; Tue, 30 Nov 2021 10:50:51 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 207dda6a-7491-4ed0-6eda-08d9b3ef46ed X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNUVf4505pHrBHCMEJhBuWzEyNqQ4uLM3RQ5hBYuS/dB7DDW+QNykjSDABLk7ZDfVBU3R0K9YgSm+2TIxeBUA1gT9GD8ytXM4VkdDVx7mPj+xQoCZ9P2t+9VOX9RdLY1c2+hXox+Q8zu3EzMgjqeWX/0VL3KrQxc6Bbev8PXzV0169l71oNXSMljolF0/5iBER1Lnz6Gc+u7KhGA3wR0pXVo9g7IfWfFbm7Zf6mwpDhHMUAxQyIpaoGjo2zP39U1xdfetSOprPChfIryKyMPOcqIlQuHmQxzL2nNUBsP+hSWgad3kwmjVvg+05oH9pT8s6M81jp4ifwD5Ir5C35psJHfz/8R4i/Erxk3XGEFspeB+gEsgVs19y55Ih05FDOO7XiwDLNzZPbDfHLgTVLx0kmUvJ0AP49KWpGXKcI9ohmDw5jVTHxtUx28Z3aXSeCy1zAbYJb6sEZ8J+LOEcNT/+nWrSXVakPUvd4XPQRcc7ttM/PaC3Is1mc2iRLVSX2aqjO0BQrRsIuUaLPYLmTga1tLbpvz1FPPsiTFxHiG82FPbmGr/+MfT/avfu7fxB7cSvQvLQEG+j52HiVCnDRAt7qQG6V8j/fV1VWHdbtaYYSrF3vgODwUjzhuGrACdyg6ZXj7U8xsJOmNc1LbihK8JQe9JadmBhDEIYfYSzEZVMilYPcSj5QrCqfjrYyoDGgBJCLOx7OokE0UrzGvOlwTfBWe7/2Prybw4B4= X-MS-TrafficTypeDiagnostic: AM7PR03MB6532: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ErKmtDeY0BMocAfbEe2xlAWF6IknvxiN3Dar7r5kGGgg7xGXa3zncJcpT9LpA+E+jHYF/1HlRsT+wFzKMrVwi3WEl/pql3yI18d7VoaobGVfEWbJfiyHQ6RY8wjrNv9YQ7B6aEsZuOxUN39qloiLOmq4dVwffnpltJmtl6vl0GHTzdUX9GyQ3hj8LPLzL3xuTsEkxmi3vivBeOoQAJaqZYiwNtDb6K2hC4Kw18ySKr4wyyttzFyQqaBDEeym2JBLRGnqCxosCfmzqyWOB5G4TPuXSKasCKX5qWXD0bDMYvsdGINrfMNnCLIesszsvUNWZYjDb186PCVUns9knts2QyBSYZnUEEoAoimlwsXG0yAWhRYCjlv1zJVqtpJB8khyyGkQuIE4re22wjN7jyM/vi6bQb4VAO/Tbupvc6t+NosgFHdJ8KAlicAOZFfY1wdOPPxXpTsL+hFqDFJuDhn9khldJCFks9MQ0/fZI1GCRhEjmvQ8Zr7ohMXhnW/pITksokfeZNA69+cErTHRnVU33B9GG45TodexpPs0zri8RzBxkaD5eU/sZJslj+m4Pkd4DgfOKM0S1CyZ3n7a4gaLdg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: oMoJDdKBNqNdZl5PvRKN7eZ8XRneShp4TPAncE3RiMLOOANAlBdn2MQ85oM9B7D48FpMH4JSOBH3JI+9lrZGKhDju0WkEGyTqS3Z2GEuaNGRq/pekLPaG5xk8JRR2+gwRzVQFk1GMS7Ftd5UhBXIoWBCWVeec84gEzbzdev9aicR3GHv7hDhBvKbq7Czfs/AbAg3yYQlVuyhng8xe9trGHYwuLOm5XJyuXWo2GqzbF8QqtIlgIfUJU2FREx55ryUfPl/4qOXG3eMJoSB96cJXLwZgDm4r1qqu4NIIyp8SSLeI3WQmVkpnWTIXpEhcGkHsRGfJ5J1U9ZscjIeZAUhHUhmMmAqr8phFUuvqMRosXKVBRUiYU+qwsrHQEQPuib3BNQideYh/48ti7q+Buf3pOp6NCDS+4uLAX5OINVYFg0hRy07HZLXoRmlkZkM68XC/1YydOfRe+T5iyABQ53hgIbiUAMWo33NqOlToccFZB1gVxEpEp32jL/7BgWpsEqcx10qNL0TsIaTHYKcCMMlcLfG1qllXpp//EX0M3omgWeuTCRb8XSAyEc2vBpauaw9zrn98nHn0xYlhcpzfkx01lYieMhLYlYq1nT9c3OfXFtQauDisQy0E7+A46OuIXoQ4hEPE65tGDUWPaHiJhae5ozo44BFP/taVY+4IBRAq9rSybqoxfkR6L1hpTHJKShDfvrJnb4mfmWMcBfgnS2u+NnQtW9p6UoclcehF1/6zTE9bx8Ld92J0i2R9/IFv3iQmsSeBdZ0CPNue/XS8aQOK45lZvt/GbNENadOglIm3OXQXj4UFf0frj+87aXZw/yhi1Kz+ko8Ip0J5L5a6N75OvM4LTKvCxdYBLKKw2oux6zzVx6J3SpJMo9ohQTsg51sHH1lfVnt2RJ+HzZloy3SOFDnufCrhCCyRUc/UwuEgdRCSFlsJ9IFkmesKrjYqUWZ537QMVwQ0m3losOgapzOaA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 207dda6a-7491-4ed0-6eda-08d9b3ef46ed X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2021 10:50:52.0307 (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: AM7PR03MB6532 Subject: [FFmpeg-devel] [PATCH 2/6] avcodec/movtextenc: Reset AVBPrint at the beginning, not end of encoding 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: CV4ozEobE6a6 This avoids abusing a variable called length for the return value and ensures that the AVBPrint is always reset before using it; previously this has been forgotten in some error paths. Signed-off-by: Andreas Rheinhardt --- libavcodec/movtextenc.c | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/libavcodec/movtextenc.c b/libavcodec/movtextenc.c index 0632463a63..46109e0a5e 100644 --- a/libavcodec/movtextenc.c +++ b/libavcodec/movtextenc.c @@ -646,6 +646,7 @@ static int mov_text_encode_frame(AVCodecContext *avctx, unsigned char *buf, s->text_pos = 0; s->count = 0; s->box_flags = 0; + av_bprint_clear(&s->buffer); for (i = 0; i < sub->num_rects; i++) { const char *ass = sub->rects[i]->ass; @@ -669,27 +670,20 @@ static int mov_text_encode_frame(AVCodecContext *avctx, unsigned char *buf, AV_WB16(buf, s->byte_count); buf += 2; - if (!av_bprint_is_complete(&s->buffer)) { - length = AVERROR(ENOMEM); - goto exit; - } + if (!av_bprint_is_complete(&s->buffer)) + return AVERROR(ENOMEM); - if (!s->buffer.len) { - length = 0; - goto exit; - } + if (!s->buffer.len) + return 0; if (s->buffer.len > bufsize - 3) { av_log(avctx, AV_LOG_ERROR, "Buffer too small for ASS event.\n"); - length = AVERROR_BUFFER_TOO_SMALL; - goto exit; + return AVERROR_BUFFER_TOO_SMALL; } memcpy(buf, s->buffer.str, s->buffer.len); length = s->buffer.len + 2; -exit: - av_bprint_clear(&s->buffer); return length; }