qtdemux: Check for invalid (empty) classification info entity strings
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Mon, 4 Apr 2011 08:07:42 +0000 (10:07 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Mon, 4 Apr 2011 08:07:42 +0000 (10:07 +0200)
Otherwise the classification string can be empty and gst_tag_list_add() will
complain or have a \0 in the first four bytes, which is wrong too.

gst/qtdemux/qtdemux.c

index 63871a5..64a9d44 100644 (file)
@@ -7584,6 +7584,12 @@ qtdemux_tag_add_classification (GstQTDemux * qtdemux, const char *tag,
 
   offset = 12;
   entity = (guint8 *) node->data + offset;
+  if (entity[0] == 0 || entity[1] == 0 || entity[2] == 0 || entity[3] == 0) {
+    GST_DEBUG_OBJECT (qtdemux,
+        "classification info: %c%c%c%c invalid classification entity",
+        entity[0], entity[1], entity[2], entity[3]);
+    return;
+  }
 
   offset += 4;
   table = QT_UINT16 ((guint8 *) node->data + offset);