linux_usbfs: Avoid file descriptor leak in error case
authorChris Dickens <christopher.a.dickens@gmail.com>
Fri, 18 Sep 2015 05:27:21 +0000 (22:27 -0700)
committerChris Dickens <christopher.a.dickens@gmail.com>
Sun, 20 Sep 2015 21:48:54 +0000 (14:48 -0700)
Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
libusb/os/linux_usbfs.c
libusb/version_nano.h

index a9ca506..1bfcdd0 100644 (file)
@@ -1320,7 +1320,11 @@ static int op_open(struct libusb_device_handle *handle)
                        hpriv->caps |= USBFS_CAP_BULK_CONTINUATION;
        }
 
-       return usbi_add_pollfd(HANDLE_CTX(handle), hpriv->fd, POLLOUT);
+       r = usbi_add_pollfd(HANDLE_CTX(handle), hpriv->fd, POLLOUT);
+       if (r < 0)
+               close(hpriv->fd);
+
+       return r;
 }
 
 static void op_close(struct libusb_device_handle *dev_handle)
index 112b99f..031f02e 100644 (file)
@@ -1 +1 @@
-#define LIBUSB_NANO 11008
+#define LIBUSB_NANO 11009