examples: playback-test: fix crashes when setting buffer-size
authorTim-Philipp Müller <tim@centricular.com>
Tue, 6 May 2014 06:51:11 +0000 (07:51 +0100)
committerTim-Philipp Müller <tim@centricular.com>
Tue, 6 May 2014 07:14:02 +0000 (08:14 +0100)
playbin's buffer-size property takes a gint, not a gint64,
so only pass the bits expected to the vararg function, or
the terminator might not be found, leading to crashes, esp.
with negative numbers.

Spotted by Ravi Kiran K N <ravi.kiran@samsung.com>

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

tests/examples/playback/playback-test.c

index e39a5df..81d2824 100644 (file)
@@ -2422,8 +2422,8 @@ buffer_size_activate_cb (GtkEntry * entry, PlaybackApp * app)
     gchar *endptr;
 
     v = g_ascii_strtoll (text, &endptr, 10);
-    if (endptr != text && v != G_MAXINT64 && v != G_MININT64) {
-      g_object_set (app->pipeline, "buffer-size", v, NULL);
+    if (endptr != text && v >= G_MININT && v <= G_MAXINT) {
+      g_object_set (app->pipeline, "buffer-size", (gint) v, NULL);
     }
   }
 }