settings: fix memory leak in AddConnection2() options parsing

The "{&sv}" format in g_variant_iter_next() borrows the key but creates
a new reference for the value.

Fixes: f4f165f945 ('settings: add "plugin" argument to AddAndActivate2()')
This commit is contained in:
Beniamino Galvani 2026-06-01 10:16:57 +02:00
parent 08d9476708
commit 4f41381c22

View file

@ -2934,6 +2934,8 @@ impl_settings_add_connection2(NMDBusObject *obj,
g_variant_iter_init(&iter, args);
while (g_variant_iter_next(&iter, "{&sv}", &args_name, &args_value)) {
gs_unref_variant GVariant *args_value_unref = args_value;
if (plugin == NULL && nm_streq(args_name, "plugin")
&& g_variant_is_of_type(args_value, G_VARIANT_TYPE_STRING)) {
plugin = g_variant_dup_string(args_value, NULL);