On 10/04/2010 05:23 AM, Matthias Bolte wrote:
2010/10/2 Stefan Berger<stef...@linux.vnet.ibm.com>:
  Fixing memory leak shown by valgrind and freeing buffer in two more places.

Signed-off-by: Stefan Berger<stef...@us.ibm.com>

Index: libvirt-acl/src/nwfilter/nwfilter_ebiptables_driver.c
===================================================================
--- libvirt-acl.orig/src/nwfilter/nwfilter_ebiptables_driver.c
+++ libvirt-acl/src/nwfilter/nwfilter_ebiptables_driver.c
@@ -1508,7 +1508,11 @@ _iptablesCreateRuleInstance(int directio
     }

     if (virBufferUse(&prefix)) {
-        virBufferVSprintf(&prefix, "%s", virBufferContentAndReset(&buf));
+        char *s = virBufferContentAndReset(&buf);
+
+        virBufferVSprintf(&prefix, "%s", s);
You could simplify this to use virBufferAdd(&prefix, s, -1) instead of
virBufferVSprintf.

Right, I changed that.
+
+        VIR_FREE(s);

         final =&prefix;

@@ -1531,11 +1535,13 @@ _iptablesCreateRuleInstance(int directio

  err_exit:
     virBufferFreeAndReset(&buf);
+    virBufferFreeAndReset(&prefix);

     return -1;

  exit_no_error:
     virBufferFreeAndReset(&buf);
+    virBufferFreeAndReset(&prefix);

     return 0;
  }

ACK.

Matthias
Pushed.
   Stefan

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to