tests: fix type mismatch in varargs passing
authorVincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Thu, 9 Apr 2015 15:20:44 +0000 (16:20 +0100)
committerVincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Thu, 9 Apr 2015 15:20:44 +0000 (16:20 +0100)
A bitmask is 64 bits, but integer immediates are passed as int
in varargs, which happen to be 32 bit with high probability.

This triggered a valgrind jump-relies-on-uninitalized-value
report well away from the site, since it doesn't trigger on
stack accesses, and there must have been enough zeroes to stop
g_object_set at the right place.

tests/check/elements/audiomixer.c

index b6235dc..ddfdbe1 100644 (file)
@@ -90,7 +90,7 @@ GST_START_TEST (test_filter_caps)
       "format", G_TYPE_STRING, GST_AUDIO_NE (F32),
       "layout", G_TYPE_STRING, "interleaved",
       "rate", G_TYPE_INT, 44100, "channels", G_TYPE_INT, 1,
-      "channel-mask", GST_TYPE_BITMASK, 0x04, NULL);
+      "channel-mask", GST_TYPE_BITMASK, (guint64) 0x04, NULL);
 
   /* build pipeline */
   pipeline = gst_pipeline_new ("pipeline");