]> xenbits.xensource.com Git - libvirt.git/commitdiff
nwfilter: fix memory leaks
authorStefan Berger <stefanb@us.ibm.com>
Mon, 4 Oct 2010 10:34:05 +0000 (06:34 -0400)
committerStefan Berger <stefanb@us.ibm.com>
Mon, 4 Oct 2010 10:34:05 +0000 (06:34 -0400)
Fixing memory leak shown by valgrind and freeing buffer in two more places.

src/nwfilter/nwfilter_ebiptables_driver.c

index bdd5c79054e31480bfc29d7f3743de26fba72bb6..3fbe08b05f98d42f325fe5ad7ea9479c238db3e2 100644 (file)
@@ -1508,7 +1508,11 @@ _iptablesCreateRuleInstance(int directionIn,
     }
 
     if (virBufferUse(&prefix)) {
-        virBufferVSprintf(&prefix, "%s", virBufferContentAndReset(&buf));
+        char *s = virBufferContentAndReset(&buf);
+
+        virBufferAdd(&prefix, s, -1);
+
+        VIR_FREE(s);
 
         final = &prefix;
 
@@ -1531,11 +1535,13 @@ _iptablesCreateRuleInstance(int directionIn,
 
 err_exit:
     virBufferFreeAndReset(&buf);
+    virBufferFreeAndReset(&prefix);
 
     return -1;
 
 exit_no_error:
     virBufferFreeAndReset(&buf);
+    virBufferFreeAndReset(&prefix);
 
     return 0;
 }