avformat/rdt: Check pkt_len

Fixes: CID1473553 Untrusted loop bound

Sponsored-by: Sovereign Tech Fund
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Michael Niedermayer 2024-06-07 01:50:00 +02:00
parent ca237a841e
commit 0d0373de3b
No known key found for this signature in database
GPG Key ID: B18E8928B3948D64
1 changed files with 2 additions and 0 deletions

View File

@ -206,6 +206,8 @@ ff_rdt_parse_header(const uint8_t *buf, int len,
return -1; /* not followed by a data packet */ return -1; /* not followed by a data packet */
pkt_len = AV_RB16(buf+3); pkt_len = AV_RB16(buf+3);
if (pkt_len > len)
return AVERROR_INVALIDDATA;
buf += pkt_len; buf += pkt_len;
len -= pkt_len; len -= pkt_len;
consumed += pkt_len; consumed += pkt_len;