summaryrefslogtreecommitdiff
path: root/glib/glib/gvariant-serialiser.c
diff options
context:
space:
mode:
Diffstat (limited to 'glib/glib/gvariant-serialiser.c')
-rw-r--r--glib/glib/gvariant-serialiser.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/glib/glib/gvariant-serialiser.c b/glib/glib/gvariant-serialiser.c
index 4ee6c72..cc5cc7b 100644
--- a/glib/glib/gvariant-serialiser.c
+++ b/glib/glib/gvariant-serialiser.c
@@ -1023,6 +1023,10 @@ gvs_tuple_is_normal (GVariantSerialised value)
gsize offset;
gsize i;
+ /* as per the comment in gvs_tuple_get_child() */
+ if G_UNLIKELY (value.data == NULL && value.size != 0)
+ return FALSE;
+
offset_size = gvs_get_offset_size (value.size);
length = g_variant_type_info_n_members (value.type_info);
offset_ptr = value.size;