]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virNWFilterParseParamAttributes: Use automatic memory management
authorTim Wiederhake <twiederh@redhat.com>
Wed, 14 Jul 2021 08:49:23 +0000 (10:49 +0200)
committerTim Wiederhake <twiederh@redhat.com>
Fri, 23 Jul 2021 09:27:05 +0000 (11:27 +0200)
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/conf/nwfilter_params.c

index 0b967e1194f8c7586557a325bdd6bd8bbc1e057b..0b1676e25f457b19a5d0110cc5abc74173323e8c 100644 (file)
@@ -698,18 +698,15 @@ virNWFilterParseVarValue(const char *val)
 GHashTable *
 virNWFilterParseParamAttributes(xmlNodePtr cur)
 {
-    char *nam, *val;
-    virNWFilterVarValue *value;
-
-    GHashTable *table = virHashNew(virNWFilterVarValueHashFree);
+    g_autoptr(GHashTable) table = virHashNew(virNWFilterVarValueHashFree);
 
     cur = xmlFirstElementChild(cur);
 
     while (cur != NULL) {
         if (virXMLNodeNameEqual(cur, "parameter")) {
-            nam = virXMLPropString(cur, "name");
-            val = virXMLPropString(cur, "value");
-            value = NULL;
+            g_autofree char *nam = virXMLPropString(cur, "name");
+            g_autofree char *val = virXMLPropString(cur, "value");
+            g_autoptr(virNWFilterVarValue) value = NULL;
             if (nam != NULL && val != NULL) {
                 if (!isValidVarName(nam))
                     goto skip_entry;
@@ -733,20 +730,13 @@ virNWFilterParseParamAttributes(xmlNodePtr cur)
                 value = NULL;
             }
  skip_entry:
-            virNWFilterVarValueFree(value);
-            VIR_FREE(nam);
-            VIR_FREE(val);
         }
-
         cur = xmlNextElementSibling(cur);
     }
-    return table;
+
+    return g_steal_pointer(&table);
 
  err_exit:
-    VIR_FREE(nam);
-    VIR_FREE(val);
-    virNWFilterVarValueFree(value);
-    virHashFree(table);
     return NULL;
 }