charon-nm: Fix building list of DNS/MDNS servers with libnm

g_variant_builder_add() creates a new GVariant using g_variant_new() and
then adds it to the builder.  Passing a GVariant probably adds the
pointer to the array, not the value.  I think an alternative fix would
be to use "@u" as type string for the g_variant_builder_add() call, then
the already allocated GVariant is adopted.

Fixes: 9a71b7219c ("charon-nm: Port to libnm")
This commit is contained in:
Tobias Brunner
2018-02-22 09:05:48 +01:00
parent 9ba01ce380
commit ee8c25516a
+1 -2
View File
@@ -65,8 +65,7 @@ static GVariant* handler_to_variant(nm_handler_t *handler,
enumerator = handler->create_enumerator(handler, type);
while (enumerator->enumerate(enumerator, &chunk))
{
g_variant_builder_add (&builder, "u",
g_variant_new_uint32 (*(uint32_t*)chunk.ptr));
g_variant_builder_add (&builder, "u", *(uint32_t*)chunk.ptr);
}
enumerator->destroy(enumerator);