From 4f41381c2289ef30588f81a13b440182a0a1263c Mon Sep 17 00:00:00 2001 From: Beniamino Galvani Date: Mon, 1 Jun 2026 10:16:57 +0200 Subject: [PATCH] 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: f4f165f9453e ('settings: add "plugin" argument to AddAndActivate2()') --- src/core/settings/nm-settings.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/core/settings/nm-settings.c b/src/core/settings/nm-settings.c index 702c53d5e2..3fe9c76a2e 100644 --- a/src/core/settings/nm-settings.c +++ b/src/core/settings/nm-settings.c @@ -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);