avformat/mov: Fix extradata memleak
authorMichael Niedermayer <michael@niedermayer.cc>
Fri, 6 Apr 2018 21:56:57 +0000 (23:56 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Thu, 12 Apr 2018 21:52:59 +0000 (23:52 +0200)
Fixes: crbug 822705

Reported-by: Matt Wolenetz <wolenetz@google.com>
Reviewed-by: Matt Wolenetz <wolenetz@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavformat/mov.c

index 97b1462..1340bf3 100644 (file)
@@ -2592,6 +2592,12 @@ static int mov_read_stsd(MOVContext *c, AVIOContext *pb, MOVAtom atom)
 
     return mov_finalize_stsd_codec(c, pb, st, sc);
 fail:
+    if (sc->extradata) {
+        int j;
+        for (j = 0; j < sc->stsd_count; j++)
+            av_freep(&sc->extradata[j]);
+    }
+
     av_freep(&sc->extradata);
     av_freep(&sc->extradata_size);
     return ret;