staging: usbip: fix memory leak
authorKulikov Vasiliy <segooon@gmail.com>
Wed, 11 Aug 2010 08:02:10 +0000 (12:02 +0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 31 Aug 2010 21:51:52 +0000 (14:51 -0700)
If stub_probe() failed then do not increase interf_count. In original
code sdev was leaked as its interf_count never reaches 0.

Signed-off-by: Kulikov Vasiliy <segooon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/usbip/stub_dev.c

index b6b753a493469c4c2a7067eb8a3a0542bf9f39c1..b186b5fed2b96b7973388cd337dfce6f5cafc66d 100644 (file)
@@ -427,11 +427,11 @@ static int stub_probe(struct usb_interface *interface,
 
 
        if (busid_priv->status == STUB_BUSID_ALLOC) {
-               busid_priv->interf_count++;
                sdev = busid_priv->sdev;
                if (!sdev)
                        return -ENODEV;
 
+               busid_priv->interf_count++;
                dev_info(&interface->dev,
                 "USB/IP Stub: register a new interface "
                 "(bus %u dev %u ifn %u)\n", udev->bus->busnum, udev->devnum,