[libvirt] [PATCH] usbGetDevice: don't leak a "usbDevice" buffer on failure path

Jim Meyering jim at meyering.net
Mon Jan 25 15:46:02 UTC 2010


Here's another leak fix, although this one is only on a failure path:

>From a89551ecfcebfc3d45eff38923824a9590fe9f76 Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering at redhat.com>
Date: Mon, 25 Jan 2010 16:44:13 +0100
Subject: [PATCH] usbGetDevice: don't leak a "usbDevice" buffer on failure path

* src/util/hostusb.c (usbGetDevice): Free "dev" when returning NULL.
---
 src/util/hostusb.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/src/util/hostusb.c b/src/util/hostusb.c
index 9a37103..f635ce5 100644
--- a/src/util/hostusb.c
+++ b/src/util/hostusb.c
@@ -171,8 +171,10 @@ usbGetDevice(virConnectPtr conn,

     if (vendor) {
         /* Look up bus.dev by vendor:product */
-        if (usbFindBusByVendor(conn, vendor, product, &bus, &devno) < 0)
+        if (usbFindBusByVendor(conn, vendor, product, &bus, &devno) < 0) {
+            VIR_FREE(dev);
             return NULL;
+        }
     }

     dev->bus     = bus;
--
1.7.0.rc0.127.gab8271




More information about the libvir-list mailing list