summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Dickens <christopher.a.dickens@gmail.com>2018-03-12 10:25:02 -0700
committerChris Dickens <christopher.a.dickens@gmail.com>2018-03-12 10:25:02 -0700
commit76b0677b14beda38ca4e553dec7818bf79152b48 (patch)
treec06461358d9285f52ddb9e570d5bb0983669102e
parent81ce8be59b608622b8f383022572ff947b12540d (diff)
downloadlibusb-76b0677b14beda38ca4e553dec7818bf79152b48.tar.gz
Windows: UsbDk: Fix potential buffer overflow
Closes #397 Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
-rw-r--r--libusb/os/windows_usbdk.c4
-rw-r--r--libusb/version_nano.h2
2 files changed, 3 insertions, 3 deletions
diff --git a/libusb/os/windows_usbdk.c b/libusb/os/windows_usbdk.c
index 1355000..fbccbd5 100644
--- a/libusb/os/windows_usbdk.c
+++ b/libusb/os/windows_usbdk.c
@@ -204,9 +204,9 @@ static void usbdk_exit(struct libusb_context *ctx)
static int usbdk_get_session_id_for_device(struct libusb_context *ctx,
PUSB_DK_DEVICE_ID id, unsigned long *session_id)
{
- char dev_identity[ARRAYSIZE(id->DeviceID) + ARRAYSIZE(id->InstanceID)];
+ char dev_identity[ARRAYSIZE(id->DeviceID) + ARRAYSIZE(id->InstanceID) + 1];
- if (sprintf(dev_identity, "%S%S", id->DeviceID, id->InstanceID) == -1) {
+ if (snprintf(dev_identity, sizeof(dev_identity), "%S%S", id->DeviceID, id->InstanceID) == -1) {
usbi_warn(ctx, "cannot form device identity", id->DeviceID);
return LIBUSB_ERROR_NOT_SUPPORTED;
}
diff --git a/libusb/version_nano.h b/libusb/version_nano.h
index 5b295ba..1adf635 100644
--- a/libusb/version_nano.h
+++ b/libusb/version_nano.h
@@ -1 +1 @@
-#define LIBUSB_NANO 11304
+#define LIBUSB_NANO 11305