mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2026-06-11 08:13:06 +00:00
avformat/ty: check rec_size
Fixes: ada-4-poc.ty change is based on the suggested fix Found-by: Claude and Ada Logics. This issue was found by Anthropic from using agents to study security of open source projects Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
committed by
michaelni
parent
3a042a5ab8
commit
4492ad7228
+5
-1
@@ -396,12 +396,16 @@ static int demux_video(AVFormatContext *s, TyRecHdr *rec_hdr, AVPacket *pkt)
|
||||
int got_packet = 0;
|
||||
|
||||
if (subrec_type != 0x02 && subrec_type != 0x0c &&
|
||||
subrec_type != 0x08 && rec_size > 4) {
|
||||
subrec_type != 0x08 && rec_size > 7) {
|
||||
|
||||
/* get the PTS from this packet if it has one.
|
||||
* on S1, only 0x06 has PES. On S2, however, most all do.
|
||||
* Do NOT Pass the PES Header to the MPEG2 codec */
|
||||
es_offset1 = find_es_header(ty_VideoPacket, ty->chunk + ty->cur_chunk_pos, 5);
|
||||
if (es_offset1 != -1) {
|
||||
if (rec_size < es_offset1 + VIDEO_PTS_OFFSET + 5)
|
||||
return AVERROR_INVALIDDATA;
|
||||
|
||||
ty->last_video_pts = ff_parse_pes_pts(
|
||||
ty->chunk + ty->cur_chunk_pos + es_offset1 + VIDEO_PTS_OFFSET);
|
||||
if (subrec_type != 0x06) {
|
||||
|
||||
Reference in New Issue
Block a user