From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 314BE45744 for ; Wed, 21 Jun 2023 20:47:18 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 32A8768C055; Wed, 21 Jun 2023 23:47:07 +0300 (EEST) 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-Google-Smtp-Source: ACHHUZ6AEYIHlV059KS9Om1kQtYWMOA0WXSt07oSTvc/1cVsTjXUI6E0OSP+WXbuvJ9QYccrPzIPng== 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: 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; } -- 2.41.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".