summaryrefslogtreecommitdiffstats
path: root/dbus/dbus-message.c
diff options
context:
space:
mode:
Diffstat (limited to 'dbus/dbus-message.c')
-rw-r--r--dbus/dbus-message.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/dbus/dbus-message.c b/dbus/dbus-message.c
index eb0e86cc..06c75b06 100644
--- a/dbus/dbus-message.c
+++ b/dbus/dbus-message.c
@@ -1735,10 +1735,12 @@ dbus_message_iter_get_fixed_array (DBusMessageIter *iter,
int *n_elements)
{
DBusMessageRealIter *real = (DBusMessageRealIter *)iter;
+ int subtype = _dbus_type_reader_get_current_type(&real->u.reader);
_dbus_return_if_fail (_dbus_message_iter_check (real));
_dbus_return_if_fail (value != NULL);
- _dbus_return_if_fail (dbus_type_is_fixed (_dbus_type_reader_get_current_type (&real->u.reader)));
+ _dbus_return_if_fail ((subtype == DBUS_TYPE_INVALID) ||
+ dbus_type_is_fixed (subtype));
_dbus_type_reader_read_fixed_multi (&real->u.reader,
value, n_elements);