mxfdemux: guard against NULL non source components
authorVincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Thu, 17 Apr 2014 08:35:37 +0000 (09:35 +0100)
committerVincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Mon, 21 Apr 2014 08:24:00 +0000 (09:24 +0100)
This component is dereferenced, and later code checking for
NULL in particular cases implies it can be NULL. This likely
does not fix the coverity warning as it was seeing another
path setting component to NULL explicitely, but this was
spotted by looking at:

Coverity 1139736

Which is actually OK from what I can see since the actual
dereference of the explicit NULL pointer will not happen
if the condition that led to the NULL pointer assignment
is met, since the assignment and defeference have mutually
exclusive tests.

gst/mxf/mxfdemux.c

index 838665e..c2ee741 100644 (file)
@@ -1009,6 +1009,15 @@ gst_mxf_demux_update_tracks (GstMXFDemux * demux)
       component =
           MXF_METADATA_SOURCE_CLIP (sequence->structural_components
           [component_index]);
+      if (!component) {
+        GST_WARNING_OBJECT (demux, "NULL conponent in non source package");
+        if (!pad) {
+          continue;
+        } else {
+          ret = GST_FLOW_ERROR;
+          goto error;
+        }
+      }
 
       if (component->source_package && component->source_package->top_level &&
           MXF_METADATA_GENERIC_PACKAGE (component->source_package)->tracks) {