[FFmpeg-cvslog] avformat/mov: Do not use reference stream in mov_read_sidx() if there is no reference stream

Michael Niedermayer git at videolan.org
Thu Mar 21 20:14:34 EET 2019


ffmpeg | branch: release/4.0 | Michael Niedermayer <michael at niedermayer.cc> | Tue Feb 12 23:28:35 2019 +0100| [5f799f0cee95fc92fdcaba543f491be997f5c52a] | committer: Michael Niedermayer

avformat/mov: Do not use reference stream in mov_read_sidx() if there is no reference stream

Fixes: NULL pointer dereference
Fixes: clusterfuzz-testcase-minimized-audio_decoder_fuzzer-5634316373721088

Reported-by: Chris Cunningham <chcunningham at google.com>
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
(cherry picked from commit b0d8b7cb8e86367178ef0c35dcae359d820c3b27)
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

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

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

diff --git a/libavformat/mov.c b/libavformat/mov.c
index 8e38ad2ff6..14a02dc4e6 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -5029,7 +5029,7 @@ static int mov_read_sidx(MOVContext *c, AVIOContext *pb, MOVAtom atom)
                 }
             }
         }
-        for (i = 0; i < c->fc->nb_streams; i++) {
+        if (ref_st) for (i = 0; i < c->fc->nb_streams; i++) {
             st = c->fc->streams[i];
             sc = st->priv_data;
             if (!sc->has_sidx) {



More information about the ffmpeg-cvslog mailing list