summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGaurav <g.gupta@samsung.com>2015-05-13 13:19:14 +0530
committerChris Dickens <christopher.a.dickens@gmail.com>2015-05-19 10:29:50 -0700
commitc141457debff6156b83786eb69b46d873634e5bd (patch)
tree1d4d650694761cb507ba345974fa8286f5481a14
parent260ff885cdbe793f836aef667444302c327616ab (diff)
downloadlibusb-c141457debff6156b83786eb69b46d873634e5bd.tar.gz
linux_usbfs: Fix memory allocation failure.
strdup returns NULL in case memory allocation failure occurs. If Null check is not there, it will crash while dereferencing in "strrchr". Closes #66 Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
-rw-r--r--libusb/os/linux_usbfs.c3
-rw-r--r--libusb/version_nano.h2
2 files changed, 4 insertions, 1 deletions
diff --git a/libusb/os/linux_usbfs.c b/libusb/os/linux_usbfs.c
index 0d883bd..86ad1f2 100644
--- a/libusb/os/linux_usbfs.c
+++ b/libusb/os/linux_usbfs.c
@@ -997,6 +997,9 @@ static int linux_get_parent_info(struct libusb_device *dev, const char *sysfs_di
}
parent_sysfs_dir = strdup(sysfs_dir);
+ if (NULL == parent_sysfs_dir) {
+ return LIBUSB_ERROR_NO_MEM;
+ }
if (NULL != (tmp = strrchr(parent_sysfs_dir, '.')) ||
NULL != (tmp = strrchr(parent_sysfs_dir, '-'))) {
dev->port_number = atoi(tmp + 1);
diff --git a/libusb/version_nano.h b/libusb/version_nano.h
index 3022fb7..3ca816b 100644
--- a/libusb/version_nano.h
+++ b/libusb/version_nano.h
@@ -1 +1 @@
-#define LIBUSB_NANO 10984
+#define LIBUSB_NANO 10985