diff options
Diffstat (limited to 'glib/dbus-gvalue.c')
-rw-r--r-- | glib/dbus-gvalue.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/glib/dbus-gvalue.c b/glib/dbus-gvalue.c index 3e8cf1e7..e06a8fee 100644 --- a/glib/dbus-gvalue.c +++ b/glib/dbus-gvalue.c @@ -1081,9 +1081,10 @@ demarshal_collection_array (DBusGValueMarshalCtx *context, dbus_message_iter_get_fixed_array (&subiter, &msgarray, &msgarray_len); - g_assert (msgarray != NULL); - g_assert (msgarray_len >= 0); - g_array_append_vals (ret, msgarray, (guint) msgarray_len); + g_assert (msgarray != NULL || msgarray_len == 0); + + if (msgarray_len) + g_array_append_vals (ret, msgarray, (guint) msgarray_len); g_value_set_boxed_take_ownership (value, ret); |