summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Camarillo <dave.camarillo@gmail.com>2011-09-23 11:56:58 +0100
committerDave Camarillo <dave.camarillo@gmail.com>2011-09-23 13:10:22 +0100
commitc40394342aecac34fdd36cdb0d80a3722b2bc9a0 (patch)
treeb251364bba8bd01912e4bc87d97d4a6adc5555cf
parent15f4edbfd0a510ec0b106e549412da2cec5e8d31 (diff)
downloadlibusb-c40394342aecac34fdd36cdb0d80a3722b2bc9a0.tar.gz
[enum] fix bad realloc trigger for the unref_list array
* indexes were outgrowing the array before realloc, resulting in out of bound access and crash.
-rw-r--r--libusb/os/windows_usb.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libusb/os/windows_usb.c b/libusb/os/windows_usb.c
index 8157aec..aa13654 100644
--- a/libusb/os/windows_usb.c
+++ b/libusb/os/windows_usb.c
@@ -1462,7 +1462,7 @@ static int windows_get_device_list(struct libusb_context *ctx, struct discovered
windows_device_priv_init(dev);
// Keep track of devices that need unref
unref_list[unref_cur++] = dev;
- if (unref_cur > unref_size) {
+ if (unref_cur >= unref_size) {
unref_size += 64;
unref_list = realloc(unref_list, unref_size*sizeof(libusb_device*));
if (unref_list == NULL) {