qtdemux: Don't free cslg data that we don't own on corrupt files
authorSebastian Dröge <sebastian@centricular.com>
Tue, 2 Nov 2021 15:54:46 +0000 (17:54 +0200)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Fri, 12 Nov 2021 17:51:03 +0000 (17:51 +0000)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1294>

subprojects/gst-plugins-good/gst/isomp4/qtdemux.c

index f823ff1..ae30290 100644 (file)
@@ -9386,10 +9386,8 @@ qtdemux_stbl_init (GstQTDemux * qtdemux, QtDemuxStream * stream, GNode * stbl)
     /* This is optional, if missing we iterate the ctts */
     if (qtdemux_tree_get_child_by_type_full (stbl, FOURCC_cslg, &cslg)) {
       if (!gst_byte_reader_skip (&cslg, 1 + 3)
-          || !gst_byte_reader_get_uint32_be (&cslg, &stream->cslg_shift)) {
-        g_free ((gpointer) cslg.data);
+          || !gst_byte_reader_get_uint32_be (&cslg, &stream->cslg_shift))
         goto corrupt_file;
-      }
     } else {
       gint32 cslg_least = 0;
       guint num_entries, pos;