]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
ebtablesAddRemoveRule, iptablesAddRemoveRule: don't skip va_end
authorJim Meyering <meyering@redhat.com>
Tue, 18 May 2010 12:42:33 +0000 (14:42 +0200)
committerJim Meyering <meyering@redhat.com>
Tue, 18 May 2010 17:23:33 +0000 (19:23 +0200)
* src/util/ebtables.c (ebtablesAddRemoveRule): Don't skip
va_end(args) on an error path.
* src/util/iptables.c (iptablesAddRemoveRule): Identical change.

src/util/ebtables.c
src/util/iptables.c

index e2b96085e649d0046e7f518d17d447d5551b417f..f707756e4bae7cfb3ae75197245b1866356ac448 100644 (file)
@@ -210,9 +210,12 @@ ebtablesAddRemoveRule(ebtRules *rules, int action, const char *arg, ...)
 
     va_start(args, arg);
 
-    while ((s = va_arg(args, const char *)))
-        if (!(argv[n++] = strdup(s)))
+    while ((s = va_arg(args, const char *))) {
+        if (!(argv[n++] = strdup(s))) {
+            va_end(args);
             goto error;
+        }
+    }
 
     va_end(args);
 
index 4f95a02a1bd1c9216ace1481e5cde8acc86ea4eb..d06b857f9f6593019be7f5f0362fdd7d994962c4 100644 (file)
@@ -137,9 +137,12 @@ iptablesAddRemoveRule(iptRules *rules, int action, const char *arg, ...)
 
     va_start(args, arg);
 
-    while ((s = va_arg(args, const char *)))
-        if (!(argv[n++] = strdup(s)))
+    while ((s = va_arg(args, const char *))) {
+        if (!(argv[n++] = strdup(s))) {
+            va_end(args);
             goto error;
+        }
+    }
 
     va_end(args);