diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2023-05-03 13:08:35 +0200 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2023-05-06 00:22:24 +0200 |
commit | 6b1f68ccb04d791f0250e05687c346a99ff47ea1 (patch) | |
tree | d29c563e0ca74bb0775a40c3cd626d74e9a19ac2 | |
parent | 5cc378cc466121fc9de1657ea76deeba9f92089a (diff) | |
download | ffmpeg-6b1f68ccb04d791f0250e05687c346a99ff47ea1.tar.gz |
avformat/hls: fail on probing non hls/m3u8 file extensions
Its unexpected that a .avi or other "standard" file turns into a playlist.
The goal of this patch is to avoid this unexpected behavior and possible
privacy or security differences.
Reviewed-by: Steven Liu <lingjiujianke@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r-- | libavformat/hls.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/libavformat/hls.c b/libavformat/hls.c index 8a96a37ff9..11e345b280 100644 --- a/libavformat/hls.c +++ b/libavformat/hls.c @@ -2532,8 +2532,15 @@ static int hls_probe(const AVProbeData *p) if (strstr(p->buf, "#EXT-X-STREAM-INF:") || strstr(p->buf, "#EXT-X-TARGETDURATION:") || - strstr(p->buf, "#EXT-X-MEDIA-SEQUENCE:")) + strstr(p->buf, "#EXT-X-MEDIA-SEQUENCE:")) { + + if (!av_match_ext(p->filename, "m3u8,hls,m3u")) { + av_log(NULL, AV_LOG_ERROR, "Not detecting m3u8/hls with non standard extension\n"); + return 0; + } + return AVPROBE_SCORE_MAX; + } return 0; } |