[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [PATCH 6/6] util: Plug memory leak on virNetDevMacVLanCreateWithVPortProfile() error path



On 12/01/2011 07:56 AM, Eric Blake wrote:
On 11/29/2011 10:57 PM, ajia redhat com wrote:
From: Alex Jia<ajia redhat com>

Detected by Coverity. Leak introduced in commit 90074ec.

Signed-off-by: Alex Jia<ajia redhat com>
---
  src/util/virnetdevmacvlan.c |    1 +
  1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/src/util/virnetdevmacvlan.c b/src/util/virnetdevmacvlan.c
index 12fc411..80a9f80 100644
--- a/src/util/virnetdevmacvlan.c
+++ b/src/util/virnetdevmacvlan.c
@@ -582,6 +582,7 @@ create_name:
          virNetDevError(VIR_ERR_INTERNAL_ERROR,
                         _("cannot set bandwidth limits on %s"),
                         cr_ifname);
+        VIR_FORCE_CLOSE(rc);
          rc = -1;
          goto disassociate_exit;
Close, but this botches the case when !withTap (then, rc is 0 and you
just nuked stdin).  Here's what I'm squashing before pushing (and
hopefully Coverity isn't too confused because we overload rc to be
either an fd or just 0 depending on withTap):
Yeah, Coverity complains 'rc' is overwritten, it has a little confused for this.
diff --git i/src/util/virnetdevmacvlan.c w/src/util/virnetdevmacvlan.c
index 80a9f80..5e55b72 100644
--- i/src/util/virnetdevmacvlan.c
+++ w/src/util/virnetdevmacvlan.c
@@ -582,8 +582,10 @@ create_name:
          virNetDevError(VIR_ERR_INTERNAL_ERROR,
                         _("cannot set bandwidth limits on %s"),
                         cr_ifname);
-        VIR_FORCE_CLOSE(rc);
-        rc = -1;
+        if (withTap)
+            VIR_FORCE_CLOSE(rc); /* sets rc to -1 */
+        else
+            rc = -1;
          goto disassociate_exit;
      }





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]