* [FFmpeg-devel] [PATCH v2] libavformat/mpegts.c: pat_cb(): ensure all PIDs are valid
[not found] <299db1dd-b4f7-58fc-3d08-7c1b6630dde0@passwd.hu>
@ 2025-06-30 4:29 ` Scott Theisen
0 siblings, 0 replies; only message in thread
From: Scott Theisen @ 2025-06-30 4:29 UTC (permalink / raw)
To: ffmpeg-devel
ISO/IEC 13818-1:2021 specifies a valid range of [0x0010, 0x1FFE] in
§ 2.4.4.6 Semantic definition of fields in program association section
and Table 2-3 – PID table
ts->current_pid is always 0 since that is the PID for the PAT.
---
Marton Balint,
You were correct that the crash MythTV was trying to fix was already fixed by
the if (pmt_pid == ts->current_pid) test.
I don't think the logging I originally added was necessary, so I have removed
it for this version.
Regards,
Scott Theisen
---
libavformat/mpegts.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
index deb69a0548..62bcd2982c 100644
--- a/libavformat/mpegts.c
+++ b/libavformat/mpegts.c
@@ -2590,7 +2590,7 @@ static void pat_cb(MpegTSFilter *filter, const uint8_t *section, int section_len
break;
pmt_pid &= 0x1fff;
- if (pmt_pid == ts->current_pid)
+ if (pmt_pid <= 0x000F || pmt_pid == 0x1FFF)
break;
av_log(ts->stream, AV_LOG_TRACE, "sid=0x%x pid=0x%x\n", sid, pmt_pid);
--
2.50.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".
^ permalink raw reply [flat|nested] only message in thread