From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 33FCD4CE94 for ; Sat, 1 Nov 2025 02:38:35 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'JNVQF7ueSq94Z/AlMl52ONnZl/ptSt9KHtsOl+RVzcE=', expected b'GGowQ60hfVlg3ZzfIzm9PJ7o6H1ZI4Ol0C7d+hs0sCA=')) header.d=ffmpeg.org header.i=@ffmpeg.org header.a=rsa-sha256 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1761964670; h=mime-version : to : date : message-id : reply-to : subject : list-id : list-archive : list-archive : list-help : list-owner : list-post : list-subscribe : list-unsubscribe : from : cc : content-type : content-transfer-encoding : from; bh=JNVQF7ueSq94Z/AlMl52ONnZl/ptSt9KHtsOl+RVzcE=; b=ER84X1b0WZ1xvkuASxP0WP5phz0iUWJeypov8I8MXCkmaxNvemjbX75F1uEMosCN9caQP lM+VGtcyF6cdTEgRjuKw/JMoLQfSm9pcPbjwBCf/LFJwOroK8Kn5oYaCFW9VNQyeq4vHewo TvPJSVCXskX63ZvRSWzB3GsjEhaeLWEYB9rRhqRt3uSP4y5LKWpDRP293OL1+Fe1Z6kqQ+x GZfGpVR4pVjF73aGlKqLWhZiZyjT5oSUdvazYMWtWszSG3mjhZ7SBeXjdR4uemWLtuBwwwO zIik1uZgt4rMD6PA5nMuA3NvTdJEeEjHk1rBvoRZwiBm0Un5vA+XnLvBacsw== Received: from [172.19.0.2] (unknown [172.19.0.2]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 9E9D768F9F0; Sat, 1 Nov 2025 04:37:50 +0200 (EET) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1761964641; b=hmGVOv6r4saCJjFk7Aog2wf6pqvLMXj9eKfJZACHC0qrnIm9iVAYddpP06/IPyhlo2DkM 6R4rK6KTY3NEN7CLD7KoYNSs9bcWK8aUM2cDIrzr0oL8ZncC9/k+bu5mClIOJq3sIYctGtd 7k9fwAqHyQroZn/K1UdJLlzZFWz/cOjVm+3X7VvAocaHGs5iaYiqrrr9s6aJUmwrLS3QSFX 2+RzTW+hOwz5hB+EzzJdnAG3TTGYsI0ySx16VjOAkDmUVUYIUVe11DmX8DgKoZLwvEpmt3j qEDepqs+n6zTBNLjzX4DOtHqVxkwzp5nyfKn8WgI2wb7se6gp3fa++zi0BzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1761964641; h=from : sender : reply-to : subject : date : message-id : to : cc : mime-version : content-type : content-transfer-encoding : content-id : content-description : resent-date : resent-from : resent-sender : resent-to : resent-cc : resent-message-id : in-reply-to : references : list-id : list-help : list-unsubscribe : list-subscribe : list-post : list-owner : list-archive; bh=zCiU4jitNCNu39MCCZFPt7iiMDmlGAdY3TAa3NbZTsY=; b=U/mMOzK7+ckjUnDCwc+Z4QgD3+q/hqi65ln/BqLhbcZp7Z0+k1wK8XkNjj98C4iqWOoGt hIgBCYMxNjpL6CpnficHaooTC8L/o7MeBn3t0Cg85UcFnbDsDimxllUxaakgfzoWl4XgS9t 3SEofB3hmHWtajUwpPAi9yv4uttsSAYamtfYPBE5GYkuQz1hbFXwa8p7kKQ9v5fuq9HYFR6 7XsVq8v7gH082Cnt7uiuMMzR75dzPumw1YDjpmkAtfRxr0HZcICTy7suVE8OhfTLWdYVRUn lklKNNVewHSGUhR3Pxz1JvnDsOWr6X+TH25QwNq54IgCFajvfjwV7sYw3ipQ== ARC-Authentication-Results: i=1; ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none; dmarc=pass header.from=ffmpeg.org policy.dmarc=quarantine Authentication-Results: ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none (Message is not ARC signed); dmarc=pass (Used From Domain Record) header.from=ffmpeg.org policy.dmarc=quarantine DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1761964633; h=content-type : mime-version : content-transfer-encoding : from : to : reply-to : subject : date : from; bh=GGowQ60hfVlg3ZzfIzm9PJ7o6H1ZI4Ol0C7d+hs0sCA=; b=ozvJ7gC85CKaHjTBk513qIBIoKnjIave3odGw8lHJnUp/PSO0KtrJYxfitslUR0jfaZOL Er3MoTlw+gZu87b6l3qU6o6+tujr0OxW8cHrzKAfWqBGbDwnby9gcyzovNeCZIBLpwntQMW ZBlEyrYMTrtiMDq8mYxY/thDISNhxAS3p2ILxDHMzF2tB8NFpOE0IKQM8NaN72JQQQ+/wTa veXg89TVQ+M8Bumi43SRNoWhL+zvlQlgQtQnHfEHUWbUL/pw4DtIue7yn9h++eKs5tpBx26 1BsuTDEcOuT5aaUgVWa0KZ+M6t9tkgMT9MVRAEXLFc/Ii0xKYtm+RbmlzkmQ== Received: from 02c22a36bd31 (code.ffmpeg.org [188.245.149.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 934D868F91A for ; Sat, 1 Nov 2025 04:37:13 +0200 (EET) MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Date: Sat, 01 Nov 2025 02:37:13 -0000 Message-ID: <176196463375.25.3511800518540856585@2cb04c0e5124> Message-ID-Hash: WUZ5EUSEFVAMUKWNHPYGM5Y6TFYNQUUG X-Message-ID-Hash: WUZ5EUSEFVAMUKWNHPYGM5Y6TFYNQUUG X-MailFrom: code@ffmpeg.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-ffmpeg-devel.ffmpeg.org-0; header-match-ffmpeg-devel.ffmpeg.org-1; header-match-ffmpeg-devel.ffmpeg.org-2; header-match-ffmpeg-devel.ffmpeg.org-3; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list Reply-To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PATCH] avformat/rtpdec_qdm2: Check block_size (PR #20812) List-Id: FFmpeg development discussions and patches Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: michaelni via ffmpeg-devel Cc: michaelni Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Archived-At: List-Archive: List-Post: PR #20812 opened by michaelni URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20812 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20812.patch Fixes: out of array access no testcase Found-by: Joshua Rogers with ZeroPath Signed-off-by: Michael Niedermayer >>From c772162c87dab3db5910db5e33dcc6f6dc34c2ba Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sat, 1 Nov 2025 02:02:44 +0100 Subject: [PATCH] avformat/rtpdec_qdm2: Check block_size Fixes: out of array access no testcase Found-by: Joshua Rogers with ZeroPath Signed-off-by: Michael Niedermayer --- libavformat/rtpdec_qdm2.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/libavformat/rtpdec_qdm2.c b/libavformat/rtpdec_qdm2.c index dce3c48bcc..9d71fe67dd 100644 --- a/libavformat/rtpdec_qdm2.c +++ b/libavformat/rtpdec_qdm2.c @@ -186,8 +186,9 @@ static int qdm2_parse_subpacket(PayloadContext *qdm, AVStream *st, */ static int qdm2_restore_block(PayloadContext *qdm, AVStream *st, AVPacket *pkt) { - int to_copy, n, res, include_csum; + int to_copy, n, res; uint8_t *p, *csum_pos = NULL; + int include_csum = qdm->block_type == 2 || qdm->block_type == 4; /* create packet to hold subpkts into a superblock */ av_assert0(qdm->cache > 0); @@ -196,6 +197,11 @@ static int qdm2_restore_block(PayloadContext *qdm, AVStream *st, AVPacket *pkt) break; av_assert0(n < 0x80); + int min_size = 2 + (qdm->len[n] > 0xff) + 2*include_csum; + + if (qdm->block_size < min_size) + return AVERROR_INVALIDDATA; + if ((res = av_new_packet(pkt, qdm->block_size)) < 0) return res; memset(pkt->data, 0, pkt->size); @@ -211,7 +217,7 @@ static int qdm2_restore_block(PayloadContext *qdm, AVStream *st, AVPacket *pkt) *p++ = qdm->block_type; *p++ = qdm->len[n]; } - if ((include_csum = (qdm->block_type == 2 || qdm->block_type == 4))) { + if (include_csum) { csum_pos = p; p += 2; } -- 2.49.1 _______________________________________________ ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org