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:
@@ -65,8 +65,7 @@ static GVariant* handler_to_variant(nm_handler_t *handler,
|
|||||||
enumerator = handler->create_enumerator(handler, type);
|
enumerator = handler->create_enumerator(handler, type);
|
||||||
while (enumerator->enumerate(enumerator, &chunk))
|
while (enumerator->enumerate(enumerator, &chunk))
|
||||||
{
|
{
|
||||||
g_variant_builder_add (&builder, "u",
|
g_variant_builder_add (&builder, "u", *(uint32_t*)chunk.ptr);
|
||||||
g_variant_new_uint32 (*(uint32_t*)chunk.ptr));
|
|
||||||
}
|
}
|
||||||
enumerator->destroy(enumerator);
|
enumerator->destroy(enumerator);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user