From e1e5183181f17a4dd342a3b64210b109131f2ed6 Mon Sep 17 00:00:00 2001 From: Sebastian Rasmussen Date: Sun, 6 Apr 2014 11:23:34 +0200 Subject: debugutils: Handle caps field values being NULL GST_DEBUG_BIN_TO_DOT_FILE() would cause a segfault whenever it encountered an element's caps that had a field value being NULL. Such fields are successfully handled e.g. by GST_*_OBJECT(), and with this patch so does GST_DEBUG_BIN_TO_DOT_FILE(). Even if string fields with a NULL value are not supposed to be valid in caps, such caps can be created. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=727701 --- gst/gstdebugutils.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'gst/gstdebugutils.c') diff --git a/gst/gstdebugutils.c b/gst/gstdebugutils.c index 0beaf99b7..7b3ebf9c1 100644 --- a/gst/gstdebugutils.c +++ b/gst/gstdebugutils.c @@ -273,6 +273,11 @@ string_append_field (GQuark field, const GValue * value, gpointer ptr) gchar *value_str = gst_value_serialize (value); gchar *esc_value_str; + if (value_str == NULL) { + g_string_append_printf (str, " %18s: NULL\\l", g_quark_to_string (field)); + return TRUE; + } + /* some enums can become really long */ if (strlen (value_str) > 25) { gint pos = 24; -- cgit v1.2.3