lkml.org 
[lkml]   [2014]   [Feb]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH 1/1] Memory leak in usbip_exported_device_new
Date
From: Heinrich Schuchardt <xypron.glpk@gmx.de>

Memory was leaked and a device not closed.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
---
drivers/staging/usbip/userspace/libsrc/usbip_host_driver.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/staging/usbip/userspace/libsrc/usbip_host_driver.c b/drivers/staging/usbip/userspace/libsrc/usbip_host_driver.c
index 71a449c..6a92f0f 100644
--- a/drivers/staging/usbip/userspace/libsrc/usbip_host_driver.c
+++ b/drivers/staging/usbip/userspace/libsrc/usbip_host_driver.c
@@ -102,6 +102,7 @@ static int32_t read_attr_usbip_status(struct usbip_usb_device *udev)
static struct usbip_exported_device *usbip_exported_device_new(char *sdevpath)
{
struct usbip_exported_device *edev = NULL;
+ struct usbip_exported_device *edev_old;
size_t size;
int i;

@@ -127,8 +128,10 @@ static struct usbip_exported_device *usbip_exported_device_new(char *sdevpath)
size = sizeof(*edev) + edev->udev.bNumInterfaces *
sizeof(struct usbip_usb_interface);

+ edev_old = edev;
edev = realloc(edev, size);
if (!edev) {
+ edev = edev_old;
dbg("realloc failed");
goto err;
}
--
1.7.10.4


\
 
 \ /
  Last update: 2014-02-27 15:01    [W:0.029 / U:12.144 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site