From patchwork Wed Jun 21 20:46:56 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 42271 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:be15:b0:121:b37c:e101 with SMTP id ge21csp2407096pzb; Wed, 21 Jun 2023 13:47:11 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5hkerO0hPNA6DJhBlEkMZVcVk8+qcNleUekyKxiWMjYVoqgeS1HaalT0PrPzLb5ihmoW3M X-Received: by 2002:a17:907:9309:b0:97e:aace:b6bc with SMTP id bu9-20020a170907930900b0097eaaceb6bcmr13342089ejc.53.1687380430907; Wed, 21 Jun 2023 13:47:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1687380430; cv=none; d=google.com; s=arc-20160816; b=soXNia+LhTOp5QrQ6+eI+Xyx16o+6lw9TFDpmjqgvU2gGE6P3d/wsq53heSs1E0q/Y jVtvVbD3uyTqp+MFCfTAkOfRzr65yXYifM9gis7GZTAggzf8BV5v/DDwslVkBnP/RQy9 2iG7lAmODeNafTdN/3qAV2+tjxuhxkGf3uUOzUrUvFFyDbuHVfd4z6BHB7DXGxPTD5eG dggPI8v/aQpyEA6aUu/I9F22qh1JmqE1L7R80Z+wNSxkq56WGqAdCHpU7pPoc1w1IPcA y8Bxci/AVEJiLsEXSpGy+oo+iwFYLzRR6pxht3AZSvTYruyCATUIdO3X0ANSjqWIKLbt 468g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=zEGJRfn01a4bVppKuOq6Q2Yz4qtzH56u3HrehMwoCWY=; b=hducUlhO2uiOOoqYmkOsN6UNf3eNdJN2xD1CAkg8pxRLOTtm1m6B989rYmvjsMgC54 aabB+bqXFtIsGZGGjBPuxPFp2REL0GA0PtEWWRM0P2fRkATDKWxm0jZeP5hna41XuAGh boBre1pM5sTSuCvivQHM/7omow31sHvHlFfpzZqELpd1675DXM9KVvsarM4CNffnYohy YllTK0mxvmoO6r6zFdQIom7xesTJ9UZsa2NHDFXbdv4skHgCQWsZcSTaPZCzSGyNJaD/ 6fuRpnUQAdZzo95WqhJYn29dBAaW5Gjc/stn1CuRxHRrOyTx4Bt7dK82Tu2vXoKgQqHI VgUQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20221208 header.b=FUtitVq3; 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=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id k15-20020a17090666cf00b0098949d24f3fsi1897151ejp.177.2023.06.21.13.47.10; Wed, 21 Jun 2023 13:47:10 -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=@gmail.com header.s=20221208 header.b=FUtitVq3; 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=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 52973687F40; Wed, 21 Jun 2023 23:47:06 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ot1-f50.google.com (mail-ot1-f50.google.com [209.85.210.50]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B1331687F40 for ; Wed, 21 Jun 2023 23:46:59 +0300 (EEST) Received: by mail-ot1-f50.google.com with SMTP id 46e09a7af769-6b45803edfcso4585887a34.3 for ; Wed, 21 Jun 2023 13:46:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1687380418; x=1689972418; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=wUkSLI34KVK1AhZe1hsWA3uYuXUyjZdTzNqYcHNBlIo=; b=FUtitVq3McO7n1ZNrhbWKRFE8IfI3IQcOh1upgbW9W1BOFgXII/BBSRAp0TByEX0kN w81hhpI6jsfhw4PbY9Tb1em38dumUeMgy5UWWzyRRaBiZsJ6AZHooA6cE5vHMG/juuPB NewI/NgSmplNaauZf2435HXC3bvATzumj683ngp9RKbAL8YXrqCP+sjXAsuja3IahNF6 me6ZbxM398Z1f2yK7E8DJDPvl+389XRmgUTX/3b2yxai4bVhOkig/WDpSKINhErSAfZV Z3dfJ03kv4gulENi0nx9lrIk+uZ4Prvf0VMLWy5505dtyuMhitlZ0Igghur+HQjb5vPg nrZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687380418; x=1689972418; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=wUkSLI34KVK1AhZe1hsWA3uYuXUyjZdTzNqYcHNBlIo=; b=ONGpaidm71HrrMjf2lS7LIiCgbmjzqvj0Hh5nbFRvCh0SnVf14sk/oF4OXjc/VHmOu fqm4BayvRPZg1xncUTgWSQt1THGXRYfAHTbZnIsl/A+Mk2oCA9cpplMSPzPwS+mK5KfQ 7JNxHgf/xbAAkCSVZXEV53VOvvyMCqN/PUY6EtR38kVXAMCfl0+vV6g/kQM3SbUXx/TG uYVIZTV5N4caK3JDxw1aw96beZLPJbiMPlkx+y95lXNz76a69A7gxvcBWPNyXMex56Aw 0oa/xy6HUbAUodmFfjLqzMwuj4RsXhNpbPN1mvyYfQxZ5QyXM1TC0Ap4sZ8SFgtHjpof ve8A== X-Gm-Message-State: AC+VfDzM9wStuD/EHQkZIxUka8Zi8xdH543DoOuGZ7ptDEWLHriKN/hy 2doDdvumm2HQkIrqPfaTU2vSOCHsUF4= X-Received: by 2002:a9d:6e14:0:b0:6b5:af89:a813 with SMTP id e20-20020a9d6e14000000b006b5af89a813mr4241704otr.21.1687380417620; Wed, 21 Jun 2023 13:46:57 -0700 (PDT) Received: from localhost.localdomain (host197.190-225-105.telecom.net.ar. [190.225.105.197]) by smtp.gmail.com with ESMTPSA id n14-20020a9d740e000000b006af9405773dsm2264737otk.35.2023.06.21.13.46.56 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Jun 2023 13:46:57 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Wed, 21 Jun 2023 17:46:56 -0300 Message-ID: <20230621204658.2742-1-jamrial@gmail.com> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/3] avcodec/packet: add a define for the max buffer size a packet can hold 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 6QM3j0dhGv91 Signed-off-by: James Almer --- TODO: Version bump and APIchanges entry. libavcodec/packet.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libavcodec/packet.h b/libavcodec/packet.h index f28e7e7011..f7dd687c23 100644 --- a/libavcodec/packet.h +++ b/libavcodec/packet.h @@ -418,6 +418,11 @@ typedef struct AVPacket { AVRational time_base; } AVPacket; +/** + * Max size for an AVPacket data buffer. + */ +#define AV_PKT_MAX_PAYLOAD_SIZE ((size_t)(INT_MAX - AV_INPUT_BUFFER_PADDING_SIZE)) + #if FF_API_INIT_PACKET attribute_deprecated typedef struct AVPacketList { From patchwork Wed Jun 21 20:46:57 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 42272 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:be15:b0:121:b37c:e101 with SMTP id ge21csp2407176pzb; Wed, 21 Jun 2023 13:47:20 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4PHguP5rWjZcxlOSGU7bNuF8T0+LNF9HCdrNYSlFNWoxZ9RwSYl21AtDBv2bD3M5gz7EzK X-Received: by 2002:a17:907:25cc:b0:989:450:e567 with SMTP id ae12-20020a17090725cc00b009890450e567mr5512764ejc.65.1687380440503; Wed, 21 Jun 2023 13:47:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1687380440; cv=none; d=google.com; s=arc-20160816; b=KC8MQS3ZRqFSRo/UxazxjSGAjZ2tKOew44rHXTLX5NIy8T2V1PsxjjWvGBEoiZ92c8 RisJsO7RvVsCPOrrCI/M/3paSsruusnoXPt1zDA1lO5jo76YDnS/s5Pv+R8TA80c+Kot tqUOtiqT5OVZ0AW6xr24K1EZc7bthOY2QkmZN55z1OFPHLIcoNG45UEq0awIK3jq/ykC EzY5rjIKeac5XJSzUB1BXCDri931rLHs5R7kZKfA0VAUePUENPxQekcbJaboUbCWc5gB rviGBy8OlNeDcGeziIUcvC4Xy0QbQAYZiBI5TEWhGRbxhaZ2J1oueCsQirzqxy/pLFZd VDYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=JZWNYMkjqVCeTOo1RC4MlDRkQbOAGfPUa9EYqHPVnZA=; b=BP0eheKhv8/+3JWhLd/RjUuPLg45jZC20zf7gSwMxL1JBPwobs7zBDcf+lhEiJyeIZ 4yi1LVVqSHlxy9HH2nmVEEVJfkJ3wf26bSbJYjmzFpzA95NWrRHmQByIUQo6/HcOgfUL 3jdp4jlyo9Zc6J0uqIBO8lRGR8Q2HpbHvXDCUjuiymyob7FuvXxviwSHVObSSDQjU9Yu ixxIt0HPvzT11R28dZz63S9Gwy70BfrnavMBEwt32Z2bEhKpLLszxhBzmXCYyHoBNbWK 9zP1aKcE28LEk6HT/qclf59PtDVCWVhlo0ofUs3sFlCDWSkVqEZnp2XEODOEAq06Gnzb ucfg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20221208 header.b=HTYAC73S; 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=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id o2-20020a170906860200b009863cf8a87dsi2775655ejx.137.2023.06.21.13.47.20; Wed, 21 Jun 2023 13:47:20 -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=@gmail.com header.s=20221208 header.b=HTYAC73S; 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=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 73C9968C061; Wed, 21 Jun 2023 23:47:07 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ot1-f45.google.com (mail-ot1-f45.google.com [209.85.210.45]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C29A5689B0B for ; Wed, 21 Jun 2023 23:47:00 +0300 (EEST) Received: by mail-ot1-f45.google.com with SMTP id 46e09a7af769-6b2afc1ec49so4263110a34.0 for ; Wed, 21 Jun 2023 13:47:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1687380419; x=1689972419; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=8p5nBIT2C1DtNF9ajM9+M/RZXXDltrOmbToV7CXdmjQ=; b=HTYAC73Sfxboykia86bxangIj0GXCjgL89K25QeRrW9SW/LsXQUbUxAauBH5HObiP1 NCGBtSUSg2p1uiWfKZMP93695GtflBDiO6bdSJIYkZZPybtnLGo4RrwK/25h4ZcTUUrM cXzw1w/mVab37mOHXl0REBKojZDM94FGCi68SsFhJ9I1dHQUHc6pFO9uRMcSaG53CBoE MgyczfA6RtOG+5jHxZQOYnpqDwWT/2p5+WFUpv/lGlDDnDNh8sIGnXsu08qBBE+ab/Zf 8sHNBtiZKScmtJXcqVwX9ufNuEb3d8I0+aBl1evK1c/7k6YDn3K8vjoNX7K4WhMFxtWt DCnA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687380419; x=1689972419; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=8p5nBIT2C1DtNF9ajM9+M/RZXXDltrOmbToV7CXdmjQ=; b=c/7GL9iIhFIVN9ECkrNqWx8p7GpIz8przZwswLq1ZRVk1pzRK+czeqVFljt0ExDCVR 3m1i2fzN7od0ziR+Hu/6nM3Za0Srsn7iLxd0zu4VDHVGLZEGFWUjPL2HWnGytVNwZXXV bSmnBaKNFpvDWeJpnC8ItFsa9oSFbmPC/f2ggeW3yu1zPOEx+si3yCM1a7X+BHwfbRsJ rujiROnpYCZrK4lt5a6v3OWjuU093Xj7lrcQ9dSp6jJfjzQEp7WAnHtccszJwmqfiX1f zyFbqkP329IadZPQd2ODFMl1ZPKZOxZyD5dKtNvXR+hcdb9F8MWQdTDE081TTryfaX3v ZWyg== X-Gm-Message-State: AC+VfDyFOKVAjZJ0Ct18wr2391azh9E98LsEz+WFDCRHZI1UhYmYCz7d oAP0AD2++M7JFwZIWozOsUjmbFkg5kw= X-Received: by 2002:a05:6830:d8a:b0:6b5:eede:a829 with SMTP id bv10-20020a0568300d8a00b006b5eedea829mr126037otb.11.1687380419039; Wed, 21 Jun 2023 13:46:59 -0700 (PDT) Received: from localhost.localdomain (host197.190-225-105.telecom.net.ar. [190.225.105.197]) by smtp.gmail.com with ESMTPSA id n14-20020a9d740e000000b006af9405773dsm2264737otk.35.2023.06.21.13.46.57 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Jun 2023 13:46:58 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Wed, 21 Jun 2023 17:46:57 -0300 Message-ID: <20230621204658.2742-2-jamrial@gmail.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230621204658.2742-1-jamrial@gmail.com> References: <20230621204658.2742-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/3] avcodec: use AV_PKT_MAX_PAYLOAD_SIZE 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: rloovIxJ3SSt Signed-off-by: James Almer --- libavcodec/avpacket.c | 6 +++--- libavcodec/dvdsub_parser.c | 2 +- libavcodec/encode.c | 10 +++++----- libavcodec/ffv1enc.c | 4 ++-- libavcodec/h264_mp4toannexb_bsf.c | 2 +- libavcodec/libopenjpegenc.c | 6 +++--- 6 files changed, 15 insertions(+), 15 deletions(-) diff --git a/libavcodec/avpacket.c b/libavcodec/avpacket.c index 5fef65e97a..cdf7edc23c 100644 --- a/libavcodec/avpacket.c +++ b/libavcodec/avpacket.c @@ -82,7 +82,7 @@ void av_packet_free(AVPacket **pkt) static int packet_alloc(AVBufferRef **buf, int size) { int ret; - if (size < 0 || size >= INT_MAX - AV_INPUT_BUFFER_PADDING_SIZE) + if (size < 0 || size >= AV_PKT_MAX_PAYLOAD_SIZE) return AVERROR(EINVAL); ret = av_buffer_realloc(buf, size + AV_INPUT_BUFFER_PADDING_SIZE); @@ -120,7 +120,7 @@ void av_shrink_packet(AVPacket *pkt, int size) int av_grow_packet(AVPacket *pkt, int grow_by) { int new_size; - av_assert0((unsigned)pkt->size <= INT_MAX - AV_INPUT_BUFFER_PADDING_SIZE); + av_assert0((unsigned)pkt->size <= AV_PKT_MAX_PAYLOAD_SIZE); if ((unsigned)grow_by > INT_MAX - (pkt->size + AV_INPUT_BUFFER_PADDING_SIZE)) return AVERROR(ENOMEM); @@ -170,7 +170,7 @@ int av_grow_packet(AVPacket *pkt, int grow_by) int av_packet_from_data(AVPacket *pkt, uint8_t *data, int size) { - if (size >= INT_MAX - AV_INPUT_BUFFER_PADDING_SIZE) + if (size >= AV_PKT_MAX_PAYLOAD_SIZE) return AVERROR(EINVAL); pkt->buf = av_buffer_create(data, size + AV_INPUT_BUFFER_PADDING_SIZE, diff --git a/libavcodec/dvdsub_parser.c b/libavcodec/dvdsub_parser.c index 8871b6a383..1589a543df 100644 --- a/libavcodec/dvdsub_parser.c +++ b/libavcodec/dvdsub_parser.c @@ -52,7 +52,7 @@ static int dvdsub_parse(AVCodecParserContext *s, if (pc->packet_len == 0) /* HD-DVD subpicture packet */ pc->packet_len = AV_RB32(buf+2); av_freep(&pc->packet); - if ((unsigned)pc->packet_len > INT_MAX - AV_INPUT_BUFFER_PADDING_SIZE) { + if ((unsigned)pc->packet_len > AV_PKT_MAX_PAYLOAD_SIZE) { av_log(avctx, AV_LOG_ERROR, "packet length %d is invalid\n", pc->packet_len); return buf_size; } diff --git a/libavcodec/encode.c b/libavcodec/encode.c index ab5f889615..7bc14c7fc5 100644 --- a/libavcodec/encode.c +++ b/libavcodec/encode.c @@ -34,9 +34,9 @@ int ff_alloc_packet(AVCodecContext *avctx, AVPacket *avpkt, int64_t size) { - if (size < 0 || size > INT_MAX - AV_INPUT_BUFFER_PADDING_SIZE) { - av_log(avctx, AV_LOG_ERROR, "Invalid minimum required packet size %"PRId64" (max allowed is %d)\n", - size, INT_MAX - AV_INPUT_BUFFER_PADDING_SIZE); + if (size < 0 || size > AV_PKT_MAX_PAYLOAD_SIZE) { + av_log(avctx, AV_LOG_ERROR, "Invalid minimum required packet size %"PRId64" (max allowed is %"SIZE_SPECIFIER")\n", + size, AV_PKT_MAX_PAYLOAD_SIZE); return AVERROR(EINVAL); } @@ -58,7 +58,7 @@ int avcodec_default_get_encode_buffer(AVCodecContext *avctx, AVPacket *avpkt, in { int ret; - if (avpkt->size < 0 || avpkt->size > INT_MAX - AV_INPUT_BUFFER_PADDING_SIZE) + if (avpkt->size < 0 || avpkt->size > AV_PKT_MAX_PAYLOAD_SIZE) return AVERROR(EINVAL); if (avpkt->data || avpkt->buf) { @@ -80,7 +80,7 @@ int ff_get_encode_buffer(AVCodecContext *avctx, AVPacket *avpkt, int64_t size, i { int ret; - if (size < 0 || size > INT_MAX - AV_INPUT_BUFFER_PADDING_SIZE) + if (size < 0 || size > AV_PKT_MAX_PAYLOAD_SIZE) return AVERROR(EINVAL); av_assert0(!avpkt->data && !avpkt->buf); diff --git a/libavcodec/ffv1enc.c b/libavcodec/ffv1enc.c index 746f717568..b1c9f19e83 100644 --- a/libavcodec/ffv1enc.c +++ b/libavcodec/ffv1enc.c @@ -1152,9 +1152,9 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, if (f->version > 3) maxsize = AV_INPUT_BUFFER_MIN_SIZE + avctx->width*avctx->height*3LL*4; - if (maxsize > INT_MAX - AV_INPUT_BUFFER_PADDING_SIZE - 32) { + if (maxsize > AV_PKT_MAX_PAYLOAD_SIZE - 32) { av_log(avctx, AV_LOG_WARNING, "Cannot allocate worst case packet size, the encoding could fail\n"); - maxsize = INT_MAX - AV_INPUT_BUFFER_PADDING_SIZE - 32; + maxsize = AV_PKT_MAX_PAYLOAD_SIZE - 32; } if ((ret = ff_alloc_packet(avctx, pkt, maxsize)) < 0) diff --git a/libavcodec/h264_mp4toannexb_bsf.c b/libavcodec/h264_mp4toannexb_bsf.c index d11be455c2..20142b90aa 100644 --- a/libavcodec/h264_mp4toannexb_bsf.c +++ b/libavcodec/h264_mp4toannexb_bsf.c @@ -269,7 +269,7 @@ static int h264_mp4toannexb_filter(AVBSFContext *ctx, AVPacket *opkt) } while (buf < buf_end); if (!j) { - if (out_size > INT_MAX - AV_INPUT_BUFFER_PADDING_SIZE) { + if (out_size > AV_PKT_MAX_PAYLOAD_SIZE) { ret = AVERROR_INVALIDDATA; goto fail; } diff --git a/libavcodec/libopenjpegenc.c b/libavcodec/libopenjpegenc.c index 009c7a4377..c88c3d0102 100644 --- a/libavcodec/libopenjpegenc.c +++ b/libavcodec/libopenjpegenc.c @@ -73,7 +73,7 @@ static OPJ_SIZE_T stream_write(void *out_buffer, OPJ_SIZE_T nb_bytes, void *user int remaining = packet->size - writer->pos; if (nb_bytes > remaining) { OPJ_SIZE_T needed = nb_bytes - remaining; - int max_growth = INT_MAX - AV_INPUT_BUFFER_PADDING_SIZE - packet->size; + int max_growth = AV_PKT_MAX_PAYLOAD_SIZE - packet->size; if (needed > max_growth) { return (OPJ_SIZE_T)-1; } @@ -101,7 +101,7 @@ static OPJ_OFF_T stream_skip(OPJ_OFF_T nb_bytes, void *user_data) int remaining = packet->size - writer->pos; if (nb_bytes > remaining) { OPJ_SIZE_T needed = nb_bytes - remaining; - int max_growth = INT_MAX - AV_INPUT_BUFFER_PADDING_SIZE - packet->size; + int max_growth = AV_PKT_MAX_PAYLOAD_SIZE - packet->size; if (needed > max_growth) { return (OPJ_SIZE_T)-1; } @@ -122,7 +122,7 @@ static OPJ_BOOL stream_seek(OPJ_OFF_T nb_bytes, void *user_data) return OPJ_FALSE; } if (nb_bytes > packet->size) { - if (nb_bytes > INT_MAX - AV_INPUT_BUFFER_PADDING_SIZE || + if (nb_bytes > AV_PKT_MAX_PAYLOAD_SIZE || av_grow_packet(packet, (int)nb_bytes - packet->size)) { return OPJ_FALSE; } From patchwork Wed Jun 21 20:46:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 42273 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:be15:b0:121:b37c:e101 with SMTP id ge21csp2407234pzb; Wed, 21 Jun 2023 13:47:29 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7DRbmoUkzuY2+MhsZE1jJAJjFP9f7Y8vRY3ub3Hh6nNRWzEri8lJupSSEMSARzfRmxTqjA X-Received: by 2002:a17:907:97d6:b0:988:57b4:2853 with SMTP id js22-20020a17090797d600b0098857b42853mr10242647ejc.25.1687380449059; Wed, 21 Jun 2023 13:47:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1687380449; cv=none; d=google.com; s=arc-20160816; b=mVqDLjQ7F3ES2VxCKDRPUtuYC7SUAModT0SI43CVbdlUxzn/VHeFwRz9JDZaFnB9LH xXhSN79/JFKz+EKy/jPiWpXQuZYZWhFnXoYpRAGrQ3ZDa2gnIC+HdDBLhRXSXhwtwYxK BqclHg8bhUqNqKQy3VuvhTzSj6I21q6LWe+H/FEOyu0kOxq3EtzESdhADaqFZa8FUSB7 zCnsdB5blXd/vw8YmAV2Tgxznjd77Vin6onm3APEzVKxXiA7IhfGZmGGnI9R4V5mL4r4 evXjAYtrezM2hqJ25SBtz3/vpi6c/2y2ZO43zdLk65zADsoEkpIKzIN3P77InbyHo6Gh Yndw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=zaguzmXWU4hBtB2wPHDGU5quYY0S3Bjb18SsM0xtCPU=; b=iODNfdkKFu/5hOf1tEF4/1S/O1wSXfQZ/o/c3rReSmprOCH3loKPfLoOA4tn5XnPTw DPxV/yrYq4mkryCgBNhcK6IQSsD4/uVCyLWuZfXYN4UZ+S861bpBHyjlNtUQw3cFRqdp PZjXiAuG0ciahMwfWM79KRkZBuYSKvf+sQ9NHvpWqmzzVQtPQFTCf6fbRlRX9aI7g8or SldmHGPBrFl+njaYw7boIzBF4sRZ5bLp9lFSIvImN1WEiM0Syenr4asRK8HBB3TEPPik liRlYmaZBFE42uYF7CClIGELzSVttQsN6KG/Ub9U1pSbkQN/jr5yO+AV8YIMxcGrb6HU sJ5Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20221208 header.b=szNYkwpP; 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=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id d19-20020a170906c21300b00988c76f9d4bsi2719626ejz.347.2023.06.21.13.47.28; Wed, 21 Jun 2023 13:47:29 -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=@gmail.com header.s=20221208 header.b=szNYkwpP; 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=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5623368C094; Wed, 21 Jun 2023 23:47:08 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ot1-f54.google.com (mail-ot1-f54.google.com [209.85.210.54]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E379F68AEC5 for ; Wed, 21 Jun 2023 23:47:01 +0300 (EEST) Received: by mail-ot1-f54.google.com with SMTP id 46e09a7af769-6b586e564fcso2919508a34.1 for ; Wed, 21 Jun 2023 13:47:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1687380420; x=1689972420; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=6evYh0a3oFhV+uMbD5tDoT81QT80ijgThONEqf11erk=; b=szNYkwpPvbkHb+z21b+k5khMLl4cblL3MPZbfrV+HFQd/uCwWwqCxHrJBgTBG0VnLl L1YEREGYl/59YdgUtJx4GWIpBHI2R3vrAiYxmQTP5sGvpHWQe0JPQcr1dAFmqAcn5Zch ys94H5JFC2C7VzcJB3WfBYg04px+hsjQcgJD3Gp66RmVYZi1OpfD17uElLRZ6Dv3fJsJ 48jD/klonlaypIXY1FKdR1+xcX4xU1OwCMavE9ov7fqHibxJXn6kOU91Z6NU+P/v8LJQ vTzCNEj4ZHTcYFNd9Joguxs7rONO3XtPnJK6yizG6vvZ/MGRD3XNodK5eUiTu8cHqhID Marg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687380420; x=1689972420; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6evYh0a3oFhV+uMbD5tDoT81QT80ijgThONEqf11erk=; b=HB2myFZvuBJZm393DTXZysENk1FA66EmIvXpvdiy6G83soCUAN/v/U7Cy/dcWmZg7L IwRjV1EexJqXtZ9gwk14FbLFZgBGxzL6OhHFh/3Yi0cwQbGBl87WFaP7elw8/W2h2oV1 rR/KgE0i8d4oT4vdw6a6aPmPdFFFM5WCjzpQ8q21MhIBRyhfKADaMp4GV0sE1z0cEKBL FKAZFRYRuiPTB3C8ZPTxLhhZ9XaiuuJHlI2l7+o1lZZ9zxoI7gImR0NUl5iavL6IWYpQ 3kLTzaYdyaPfOG7gLPXEdyGjzrSUSQ4+zWQ8VE04ZvLDXDESKNH78QIdhhrywhfDBNEc hbPA== X-Gm-Message-State: AC+VfDwLMX16v5U8EJniYXo6pEvOjPPMEPnPtajbF50L/4UE/pl0Eev+ UcP4MMBYQcuTUVNNqF6hTf4Pf9wVOAU= X-Received: by 2002:a05:6830:4790:b0:6aa:ef9c:cb80 with SMTP id df16-20020a056830479000b006aaef9ccb80mr13850956otb.33.1687380420155; Wed, 21 Jun 2023 13:47:00 -0700 (PDT) Received: from localhost.localdomain (host197.190-225-105.telecom.net.ar. [190.225.105.197]) by smtp.gmail.com with ESMTPSA id n14-20020a9d740e000000b006af9405773dsm2264737otk.35.2023.06.21.13.46.59 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Jun 2023 13:46:59 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Wed, 21 Jun 2023 17:46:58 -0300 Message-ID: <20230621204658.2742-3-jamrial@gmail.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230621204658.2742-1-jamrial@gmail.com> References: <20230621204658.2742-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 3/3] avformat: use AV_PKT_MAX_PAYLOAD_SIZE 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: n5NzpH3jlcxk Signed-off-by: James Almer --- libavformat/4xm.c | 2 +- libavformat/flac_picture.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libavformat/4xm.c b/libavformat/4xm.c index fdf6e4b84b..1a35299254 100644 --- a/libavformat/4xm.c +++ b/libavformat/4xm.c @@ -328,7 +328,7 @@ static int fourxm_read_packet(AVFormatContext *s, case cfr2_TAG: /* allocate 8 more bytes than 'size' to account for fourcc * and size */ - if (size > INT_MAX - AV_INPUT_BUFFER_PADDING_SIZE - 8) + if (size > AV_PKT_MAX_PAYLOAD_SIZE - 8) return AVERROR_INVALIDDATA; if (fourxm->video_stream_index < 0) return AVERROR_INVALIDDATA; diff --git a/libavformat/flac_picture.c b/libavformat/flac_picture.c index b33fee75b4..16a053c6ea 100644 --- a/libavformat/flac_picture.c +++ b/libavformat/flac_picture.c @@ -120,7 +120,7 @@ int ff_flac_parse_picture(AVFormatContext *s, uint8_t **bufp, int buf_size, left = bytestream2_get_bytes_left(&g); if (len <= 0 || len > left) { - if (len > MAX_TRUNC_PICTURE_SIZE || len >= INT_MAX - AV_INPUT_BUFFER_PADDING_SIZE) { + if (len > MAX_TRUNC_PICTURE_SIZE || len >= AV_PKT_MAX_PAYLOAD_SIZE) { av_log(s, AV_LOG_ERROR, "Attached picture metadata block too big %u\n", len); if (s->error_recognition & AV_EF_EXPLODE) return AVERROR_INVALIDDATA;