diff options
author | Gaurav <g.gupta@samsung.com> | 2015-05-13 13:19:14 +0530 |
---|---|---|
committer | Chris Dickens <christopher.a.dickens@gmail.com> | 2015-05-19 10:29:50 -0700 |
commit | c141457debff6156b83786eb69b46d873634e5bd (patch) | |
tree | 1d4d650694761cb507ba345974fa8286f5481a14 | |
parent | 260ff885cdbe793f836aef667444302c327616ab (diff) | |
download | libusb-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.c | 3 | ||||
-rw-r--r-- | libusb/version_nano.h | 2 |
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 |