[FFmpeg-cvslog] avformat/dashdec: fix segfault when parsing segmentlist

vectronic git at videolan.org
Mon Sep 23 06:05:06 EEST 2019


ffmpeg | branch: master | vectronic <hello.vectronic at gmail.com> | Mon Sep 16 11:44:28 2019 +0100| [8c90bb8ebb6e60d1e6f48259091c0f3f7ff57b3e] | committer: Steven Liu

avformat/dashdec: fix segfault when parsing segmentlist

index into segmentlists_tab was specified as 4 instead of 3 causing invalid access

further fix to: 8135

Reviewed-by: Steven Liu <lq at onvideo.cn>
Signed-off-by: vectronic <hello.vectronic at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8c90bb8ebb6e60d1e6f48259091c0f3f7ff57b3e
---

 libavformat/dashdec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavformat/dashdec.c b/libavformat/dashdec.c
index 738bfeaefb..7713ee8907 100644
--- a/libavformat/dashdec.c
+++ b/libavformat/dashdec.c
@@ -1017,7 +1017,7 @@ static int parse_manifest_representation(AVFormatContext *s, const char *url,
 
             duration_val = get_val_from_nodes_tab(segmentlists_tab, 3, "duration");
             timescale_val = get_val_from_nodes_tab(segmentlists_tab, 3, "timescale");
-            startnumber_val = get_val_from_nodes_tab(segmentlists_tab, 4, "startNumber");
+            startnumber_val = get_val_from_nodes_tab(segmentlists_tab, 3, "startNumber");
             if (duration_val) {
                 rep->fragment_duration = (int64_t) strtoll(duration_val, NULL, 10);
                 av_log(s, AV_LOG_TRACE, "rep->fragment_duration = [%"PRId64"]\n", rep->fragment_duration);



More information about the ffmpeg-cvslog mailing list