[libvirt] [PATCH 3/7] util: Use g_auto/g_autofree in virFirewallAddRuleFullV()

Fabiano Fidêncio fidencio at redhat.com
Thu Jan 2 13:57:54 UTC 2020


Signed-off-by: Fabiano Fidêncio <fidencio at redhat.com>
---
 src/util/virfirewall.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/util/virfirewall.c b/src/util/virfirewall.c
index 00b1bd0a97..d6fff31318 100644
--- a/src/util/virfirewall.c
+++ b/src/util/virfirewall.c
@@ -257,6 +257,7 @@ virFirewallRuleFree(virFirewallRulePtr rule)
     VIR_FREE(rule);
 }
 
+G_DEFINE_AUTO_CLEANUP_FREE_FUNC(virFirewallRulePtr, virFirewallRuleFree, NULL);
 
 static void
 virFirewallGroupFree(virFirewallGroupPtr group)
@@ -335,8 +336,8 @@ virFirewallAddRuleFullV(virFirewallPtr firewall,
                         va_list args)
 {
     virFirewallGroupPtr group;
-    virFirewallRulePtr rule;
-    char *str;
+    g_auto(virFirewallRulePtr) rule = NULL;
+    g_autofree char *str = NULL;
 
     VIR_FIREWALL_RETURN_NULL_IF_ERROR(firewall);
 
@@ -348,7 +349,7 @@ virFirewallAddRuleFullV(virFirewallPtr firewall,
 
 
     if (VIR_ALLOC(rule) < 0)
-        goto cleanup;
+        return NULL;
 
     rule->layer = layer;
     rule->queryCB = cb;
@@ -379,19 +380,18 @@ virFirewallAddRuleFullV(virFirewallPtr firewall,
         if (VIR_APPEND_ELEMENT_COPY(group->rollback,
                                     group->nrollback,
                                     rule) < 0)
-            goto cleanup;
+            return NULL;
     } else {
         if (VIR_APPEND_ELEMENT_COPY(group->action,
                                     group->naction,
                                     rule) < 0)
-            goto cleanup;
+            return NULL;
     }
 
 
-    return rule;
+    return g_steal_pointer(&rule);
 
  cleanup:
-    virFirewallRuleFree(rule);
     return NULL;
 }
 
-- 
2.24.1




More information about the libvir-list mailing list