From 7f84f15e069bbaa02426fe8a59bf29a44611adb8 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Mon, 30 Oct 2017 14:43:41 +0100 Subject: [PATCH] core: avoid coverity warning in device factory's _add_factory() (3) 2. NetworkManager-1.9.2/src/devices/nm-device-factory.c:312: returned_pointer: Assigning value from "g_slist_append(list, g_object_ref(factory))" to "list" here, but that stored value is overwritten before it can be used. Fixes: 98afc76184502d8e19092d631efb07091be81af2 Fixes: 449940af1d8e8c996e65e266407d857680fc4a9b --- src/devices/nm-device-factory.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/devices/nm-device-factory.c b/src/devices/nm-device-factory.c index 2841fc2175..97f011c5e9 100644 --- a/src/devices/nm-device-factory.c +++ b/src/devices/nm-device-factory.c @@ -295,7 +295,7 @@ _add_factory (NMDeviceFactory *factory, { const NMLinkType *link_types = NULL; const char *const*setting_types = NULL; - GSList *list; + GSList *list, *list2; int i; g_return_val_if_fail (factories_by_link, FALSE); @@ -308,9 +308,10 @@ _add_factory (NMDeviceFactory *factory, g_hash_table_insert (factories_by_link, GUINT_TO_POINTER (link_types[i]), g_object_ref (factory)); for (i = 0; setting_types && setting_types[i]; i++) { list = g_hash_table_lookup (factories_by_setting, (char *) setting_types[i]); - if (list) - (void) g_slist_append (list, g_object_ref (factory)); - else { + if (list) { + list2 = g_slist_append (list, g_object_ref (factory)); + nm_assert (list == list2); + } else { list = g_slist_append (list, g_object_ref (factory)); g_hash_table_insert (factories_by_setting, (char *) setting_types[i], list); }