summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXavier Claessens <xavier.claessens@collabora.co.uk>2013-11-19 16:41:50 -0500
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2014-01-14 11:15:48 +0000
commitf1311ce39c6bcab1e25de20eb684bb78cce56e59 (patch)
tree4009008ac89a1664bb87c234b16ab592638e7061
parente0edaf682056f487b315c3d8236a06ac8c156b8d (diff)
downloaddbus-glib-f1311ce39c6bcab1e25de20eb684bb78cce56e59.tar.gz
dbus_g_value_build_g_variant(): Fix NULL string case
g_variant_new_string(NULL) is not accepted. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=71811 Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
-rw-r--r--dbus/dbus-gtype-specialized.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/dbus/dbus-gtype-specialized.c b/dbus/dbus-gtype-specialized.c
index 6d87b84..c1cc04a 100644
--- a/dbus/dbus-gtype-specialized.c
+++ b/dbus/dbus-gtype-specialized.c
@@ -1694,7 +1694,10 @@ dbus_g_value_build_g_variant (const GValue *value)
else if (type == G_TYPE_DOUBLE)
return g_variant_new_double (g_value_get_double (value));
else if (type == G_TYPE_STRING)
- return g_variant_new_string (g_value_get_string (value));
+ {
+ const gchar *str = g_value_get_string (value);
+ return g_variant_new_string ((str != NULL) ? str : "");
+ }
else if (type == G_TYPE_STRV)
{
const gchar * const *strv = g_value_get_boxed (value);