From 641c111277802da604de419a000ed212085c7282 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Wed, 16 May 2018 08:46:52 +0200 Subject: [PATCH] dispatcher: fix leak in construct_device_dhcp4_items() Fixes: c86d0b47229c036e1c1c39e81d7d125dcd8e74b9 --- dispatcher/nm-dispatcher-utils.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/dispatcher/nm-dispatcher-utils.c b/dispatcher/nm-dispatcher-utils.c index db4d99343c..2cf20178d1 100644 --- a/dispatcher/nm-dispatcher-utils.c +++ b/dispatcher/nm-dispatcher-utils.c @@ -265,11 +265,11 @@ construct_device_dhcp4_items (GSList *items, GVariant *dhcp4_config) g_variant_iter_init (&iter, dhcp4_config); while (g_variant_iter_next (&iter, "{&sv}", &key, &val)) { ucased = _validate_var_name (key); - if (!ucased) - continue; - tmp = g_variant_get_string (val, NULL); - items = g_slist_prepend (items, g_strdup_printf ("DHCP4_%s=%s", ucased, tmp)); - g_free (ucased); + if (ucased) { + tmp = g_variant_get_string (val, NULL); + items = g_slist_prepend (items, g_strdup_printf ("DHCP4_%s=%s", ucased, tmp)); + g_free (ucased); + } g_variant_unref (val); } return items; @@ -372,11 +372,11 @@ construct_device_dhcp6_items (GSList *items, GVariant *dhcp6_config) g_variant_iter_init (&iter, dhcp6_config); while (g_variant_iter_next (&iter, "{&sv}", &key, &val)) { ucased = _validate_var_name (key); - if (!ucased) - continue; - tmp = g_variant_get_string (val, NULL); - items = g_slist_prepend (items, g_strdup_printf ("DHCP6_%s=%s", ucased, tmp)); - g_free (ucased); + if (ucased) { + tmp = g_variant_get_string (val, NULL); + items = g_slist_prepend (items, g_strdup_printf ("DHCP6_%s=%s", ucased, tmp)); + g_free (ucased); + } g_variant_unref (val); } return items;