summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarsten Koenig <remur@gmx.net>2013-09-25 18:08:16 -0400
committerLudovic Rousseau <ludovic.rousseau+github@gmail.com>2013-09-28 12:05:17 +0200
commitd09389be6f91f5e6a382a90f68916e8ee7444a60 (patch)
tree3cc02e108f2963d632a87112a4d3c7582a76b382
parente2babf7ec295bde9d0b04fe1c325131dc6aacf51 (diff)
downloadlibusb-d09389be6f91f5e6a382a90f68916e8ee7444a60.tar.gz
linux: take newline into account for sysfs_get_active_config
bConfigurationValue in sysfs can be 3 digits (1byte value) + 1 new line = 4 bytes In it's current form a bConfigurationValue of 128 will be detected as not null terminated due to the trailing newline, simple fix is to just extend the array size to 5
-rw-r--r--libusb/os/linux_usbfs.c2
-rw-r--r--libusb/version_nano.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/libusb/os/linux_usbfs.c b/libusb/os/linux_usbfs.c
index f8defb8..245d235 100644
--- a/libusb/os/linux_usbfs.c
+++ b/libusb/os/linux_usbfs.c
@@ -564,7 +564,7 @@ static int op_get_device_descriptor(struct libusb_device *dev,
static int sysfs_get_active_config(struct libusb_device *dev, int *config)
{
char *endptr;
- char tmp[4] = {0, 0, 0, 0};
+ char tmp[5] = {0, 0, 0, 0, 0};
long num;
int fd;
ssize_t r;
diff --git a/libusb/version_nano.h b/libusb/version_nano.h
index 736c9b6..a833d52 100644
--- a/libusb/version_nano.h
+++ b/libusb/version_nano.h
@@ -1 +1 @@
-#define LIBUSB_NANO 10837
+#define LIBUSB_NANO 10839