multipartdemux: guard against having no MIME type
authorVincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Wed, 11 Jun 2014 16:43:42 +0000 (17:43 +0100)
committerVincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Wed, 11 Jun 2014 16:44:56 +0000 (17:44 +0100)
The code would previously crash trying to insert a NULL string
into a hash table.
It does seem a little broken that indexing is done by MIME type
and not by index though, unless the spec says there cannot be
two parts with the same MIME type.

https://bugzilla.gnome.org/show_bug.cgi?id=659573

gst/multipart/multipartdemux.c

index b44fee5d81dc00a584c4f8e8060282ea7bf4d432..a62c2a06cfeebf9cf87a52bbf28f840246721798 100644 (file)
@@ -621,6 +621,9 @@ gst_multipart_demux_chain (GstPad * pad, GstObject * parent, GstBuffer * buf)
     if (G_UNLIKELY (datalen <= 0)) {
       GST_DEBUG_OBJECT (multipart, "skipping empty content.");
       gst_adapter_flush (adapter, size - datalen);
     if (G_UNLIKELY (datalen <= 0)) {
       GST_DEBUG_OBJECT (multipart, "skipping empty content.");
       gst_adapter_flush (adapter, size - datalen);
+    } else if (G_UNLIKELY (!multipart->mime_type)) {
+      GST_DEBUG_OBJECT (multipart, "content has no MIME type.");
+      gst_adapter_flush (adapter, size - datalen);
     } else {
       GstClockTime ts;
 
     } else {
       GstClockTime ts;