vp8enc: Don't dereference NULL variable
authorEdward Hervey <edward@collabora.com>
Tue, 20 May 2014 06:23:06 +0000 (08:23 +0200)
committerEdward Hervey <bilboed@bilboed.com>
Mon, 2 Jun 2014 07:46:05 +0000 (09:46 +0200)
CID #1139838

ext/vpx/gstvp8enc.c

index 0271ffc..c1c0a07 100644 (file)
@@ -932,18 +932,18 @@ gst_vp8_enc_set_property (GObject * object, guint prop_id,
 
       memset (&gst_vp8_enc->cfg.ts_rate_decimator, 0,
           sizeof (gst_vp8_enc->cfg.ts_rate_decimator));
-      if (va->n_values > VPX_TS_MAX_LAYERS) {
+      if (va == NULL) {
+        gst_vp8_enc->n_ts_rate_decimator = 0;
+      } else if (va->n_values > VPX_TS_MAX_LAYERS) {
         g_warning ("%s: Only %d layers allowed at maximum",
             GST_ELEMENT_NAME (gst_vp8_enc), VPX_TS_MAX_LAYERS);
-      } else if (va) {
+      } else {
         gint i;
 
         for (i = 0; i < va->n_values; i++)
           gst_vp8_enc->cfg.ts_rate_decimator[i] =
               g_value_get_int (g_value_array_get_nth (va, i));
         gst_vp8_enc->n_ts_rate_decimator = va->n_values;
-      } else {
-        gst_vp8_enc->n_ts_rate_decimator = 0;
       }
       global = TRUE;
       break;