diff --git a/src/libotutil/ot-variant-utils.c b/src/libotutil/ot-variant-utils.c index 0f2e57db..0bc9934a 100644 --- a/src/libotutil/ot-variant-utils.c +++ b/src/libotutil/ot-variant-utils.c @@ -180,12 +180,12 @@ GInputStream * ot_variant_read (GVariant *variant) { GMemoryInputStream *ret = NULL; + gs_unref_bytes GBytes *bytes = NULL; + + bytes = g_variant_get_data_as_bytes (variant); + ret = (GMemoryInputStream*)g_memory_input_stream_new (); + g_memory_input_stream_add_bytes (ret, bytes); - ret = (GMemoryInputStream*)g_memory_input_stream_new_from_data (g_variant_get_data (variant), - g_variant_get_size (variant), - NULL); - g_object_set_data_full ((GObject*)ret, "ot-variant-data", - g_variant_ref (variant), (GDestroyNotify) g_variant_unref); return (GInputStream*)ret; }