From patchwork Sun Nov 7 14:35:16 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 31321 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a5e:dc01:0:0:0:0:0 with SMTP id b1csp2579129iok; Sun, 7 Nov 2021 06:35:36 -0800 (PST) X-Google-Smtp-Source: ABdhPJwCG6OkHDnTni2u8lTv5YDcPBEEw8y48PVAkKJHe8FaXbUIEwy+iWMZ8bXzftFT6Rue+e2o X-Received: by 2002:a05:6402:41a:: with SMTP id q26mr53633310edv.387.1636295736569; Sun, 07 Nov 2021 06:35:36 -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 k19si13435047ejv.762.2021.11.07.06.35.36; Sun, 07 Nov 2021 06:35:36 -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=ikKwF7cy; 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 3E635689A2B; Sun, 7 Nov 2021 16:35:34 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-oln040092066037.outbound.protection.outlook.com [40.92.66.37]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C147E689A2B for ; Sun, 7 Nov 2021 16:35:27 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OB8H8hMXeQHy2sZFRMszJ8EhdWDzCN7rH8G+1ULJQRqixy58xBt9NOBppYAVLv7DDC/yLBpUZch0OaTc8UBZZPvJtStMY4FaN0p5+UH8B0zgGv7s8GnZ3E9E2PBut8PG383oPWApHpokGYpChNYLq990GamyZtkAfbTbLM+P7qXo+HeA8gu5AsLWaEYujfRJDoH58a1mTFuz+VPORNlv39S5IBoxBzuMNoZnYqfmKpaGj99f1jtgZljiaBVnsq6kV+2XmjPHKfMgYW6FHwALqv9QBci+8ubPwOw8pR0olzSxT5KiUv/2/GAxtDx5stnW3QCKXq8RKN7j/H95S3b58Q== 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=UpaF6MgI+D0MUqnIBMJMO0IwjoQyDmRMxp39S+9Axms=; b=WiLAfJ4yjonzLnGIPuDuKvhZPVMWWgbaTI8D895zPz4MnbiDbeUPiV7Z+UCMeYLT6yYarCummXBtwTBNg/VEZ1tAjm8WdSns+PCjq/4m+iXXmFOYdnVA90qqLbU/fS/u4b6Z01I24/+pu1o8fVu+jqmgHbI1cPy3AuvdGtDtDs357oD6IVql+wNRWkPWQsL9sr1moozYEDlerojDBy8O7ru3wam5imY8VL0U6+FDBeZh2N9QPcWQ1KUPp8EyA9t8nEg7lbZZQhOjFXm1EOEszzmnX+1z8rSWz8UMV7qKgqs/OIWUC0UpvyLE50j1O8CG2i9OrBQ6mEpu4jrQ3GZgBA== 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=UpaF6MgI+D0MUqnIBMJMO0IwjoQyDmRMxp39S+9Axms=; b=ikKwF7cymwjS1zBU3C4qazNDpNzvXZFqAMSc+v0fpGdt/SK19IO/bbvw8frGqf+wzLb92rKnFAmRE1+vev43cPGgUIRvT48MKY+afyH8b4aaVQdAQtaeQWUXWMUOy784Bo/U2lMK4qIFL0mbKzyqDWcPvYxy38KVOEr60rDXHBSytFQkxrX/uehza/42iwguT5soRrWH96x/f6d6xT7QUbVVhcVdJtGa4m6Oyn5wQqdthYiYI+Wd6R2YBPLIQ+1JQOnRaj+UvN0z7jU+1yNUuqxFyAuryoI9ESTQ4hdyoTN2g0eX0fjmt3en7SU26CpS6eLjsHxjR/ueB4A2FjKRKg== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM5PR03MB3009.eurprd03.prod.outlook.com (2603:10a6:206:18::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.11; Sun, 7 Nov 2021 14:35:26 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::700f:d70b:3bb8:4d51]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::700f:d70b:3bb8:4d51%8]) with mapi id 15.20.4669.016; Sun, 7 Nov 2021 14:35:26 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sun, 7 Nov 2021 15:35:16 +0100 Message-ID: X-Mailer: git-send-email 2.30.2 X-TMN: [cTC8HTOCzlX6Fjykts7CswgqN+B1tAwf] X-ClientProxiedBy: AS9PR06CA0350.eurprd06.prod.outlook.com (2603:10a6:20b:466::10) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211107143518.213841-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sblaptop.fritz.box (188.193.171.90) by AS9PR06CA0350.eurprd06.prod.outlook.com (2603:10a6:20b:466::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.10 via Frontend Transport; Sun, 7 Nov 2021 14:35:25 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d15c6013-bd2a-4ee6-7bc9-08d9a1fbd6b7 X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNUrfGsDrLJjePn49Wzo4gGl9LU1bWZ/a+EGzNFIeEQXPsGQGhk+RHbzwpleLvNkFCx/+2NViWsKN0ItHqCFiblFJFRqxQDWmF8OwnjsN9uXYFquzUj/piUHEfG8pOcm5JL8P2xX7JsQQGr7GccG6WP1/QFnyatwmPh+d3PV+gMhB9MB6biOxtENq+8ZRXMsGN8xHNkmA2a3xGzk9JD9VXez3BWhiXpxhAjgKIE7MkupXWG+1dxdRdKAG6RCsMlFFBvUJTXYSCHP7Lz72jtp/QtAr3yV3X/UC9iZot9+oocRlGVVhFVwYin6AhZHT6IZEh52NFg6gb4InsSciV0wX4P5kdcExfr4e/E/NTr/lQVjXitUWhYdk8aoIXWEq28NPW811YITk8mzI4Zu81B7fzIWrxGsLh8W2T24X1yp3T/vaAnxZLiSGQookjtv9rHQhtzsYj1A4xGPdeRz1ajWY4CiMAB8sJt2hvSZ6R4mX+lJy638ndyS+Atm8dGRo+fCcgZkCmAJpJugteBk5W7kQfsncahm9pqXVBVFwqn9Ts6eoRLKms2SOJRFjCjCeVMM+bxoEt1nsRQckobjmrIyXcWoVZhmBoLsUFNoIeAUDEwQAjFM4yc0HbzhmVFBF9qrgY6mpd8UseaAz2db4C3T6eIFKWdIXFm58mOFoL7xVqUU+N/n3cX20bv3PwetiS8v865ThApA4oLGOfGKOrJ+P+WWlIdyBIciark= X-MS-TrafficTypeDiagnostic: AM5PR03MB3009: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: TK+IHAOFhAlSOhvTWEsQuviPgEbElMcK0KDjkP+PYL85Ga+I8GfAWEdJc2WaaNwNgIW07aU8bv06qUnSDDa/HtCzGkXWmyYfRH198JupsMBC2lywczRqShYIyzv6/nneGSBuF3ADc3wIjgIK0DXSPrTCiR4zE8tCvgtEAX0UWRImYn6GvtmKtSYpLRmqT6hP81HDm6LumK+9lgIzWg7ktXR4HOcW6caCCRwWBO5POh8+1qYbghJy4WOEjWOvY2WtgJHkF2HSZs5GcibzS8YCcyIdmmo3ezZHrFeCqHMIZFWKDM02SYGKMMiv6iw/pIHgTba7+4TTnxQktnc2YkYHj/IC6pKEkze+HmLUfBuNFB6RJErafalZwmVqLpG4pwPDPQloOYMU6+FH2fPCeY9Kj0ZU429kMIbrjoxgVNwmMm0or5QCUwco7rplETai/qp2/Ep194HMbIE7iT90AQ9YwAzq1MNuQ1xqkqf2pip3++OQUS89LwUi9SbdZHyFntb7NrBXLNj2y2GB0e4nVwWiWt3f3oJETkLYzjHjMW9XQAY= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: tXMJF5aNxWYASzG3K+o2QqYIaWo8GY7S/6WdCTxsVSUgN7F5PFglwVwd+J8r3fUHf+3aKyDgGkxfLrkCeqrdIozeJOC7iJqGff7jG59+ABl0Evb4oEi2aG3MUOtrY/3/uMxWB6JYUIIEAu/PF3NaKtoRuMUqEaEmos6UxvDppu5t4pc9nOwDw7kJ8nuBls2zfX+jN6PlvU9FPB1OOhdw39C3eo5vX6yZhPAJJBzJkHNBbIB9nLs7wFvSWqiam0svkwIbpzoBF5c+6gOIgG2uowJFLaZmC6ciM3nwm0SjmcKnY4KQsZGxBGnQsP6xzLzGCtdcgn6y2t9Ck8snE+nmroyxMSlVloZSOPc63CGnk0iltSsCaUfoF34sy4w3QzDqcu4jYbK3gkkW4T/YXmKI7AjeWjvJpGCdR8wr2s8wqLVQLqWS1DJaSGlY9VE4l3sfDovBvsW8bT3d0UFrgpMxYQqw1wQPlT0x51HfPxOMHT3/ybbbIPATOHnDQ8kivoUqDdPbhTf/qaKoxe3tXbCkozZKMeubAPtMSUwmvIhbOPzWnbd7DFAm0D9ztB2o0DctTGzvqykGDnMHc2emywnjYBfoqhtuWeWpUW3ORKLo38GigvyvXvCIpsjORB9wtSy5RvO9kJmpeedXl/WSDTkpM/ee74agzMDnC/QcIlyRokwsjxbQLOM9lg/lV3nhppMc2ARK3u5ESNBxiz9DtW7zRw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d15c6013-bd2a-4ee6-7bc9-08d9a1fbd6b7 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Nov 2021 14:35:26.3964 (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: AM5PR03MB3009 Subject: [FFmpeg-devel] [PATCH 1/3] avcodec/libx264: Check for overflow if necessary 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: KfBGsEXLHVlc Signed-off-by: Andreas Rheinhardt --- libavcodec/libx264.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c index 0766b4a950..8711c72131 100644 --- a/libavcodec/libx264.c +++ b/libavcodec/libx264.c @@ -138,13 +138,23 @@ static int encode_nals(AVCodecContext *ctx, AVPacket *pkt, { X264Context *x4 = ctx->priv_data; uint8_t *p; - int i, size = x4->sei_size, ret; + uint64_t size = x4->sei_size; + int i; + int ret; if (!nnal) return 0; - for (i = 0; i < nnal; i++) + for (int i = 0; i < nnal; i++) { size += nals[i].i_payload; + /* ff_get_encode_buffer() accepts an int64_t and + * so we need to make sure that no overflow happens before + * that. With 32bit ints this is automatically true. */ +#if INT_MAX > INT64_MAX / INT_MAX - 1 + if ((int64_t)size < 0) + return AVERROR(ERANGE); +#endif + } if ((ret = ff_get_encode_buffer(ctx, pkt, size, 0)) < 0) return ret;