Windows: UsbDk: Fix potential buffer overflow Closes #397 Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
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 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