summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPete Batard <pete@akeo.ie>2012-06-13 13:38:46 +0100
committerPete Batard <pete@akeo.ie>2012-06-13 20:52:39 +0100
commit67df11b691b7cdade54cbc265f9d975d46dcc10c (patch)
treea5d8c74a483cbbb8630b9aaa3644b89eddc5cf1e
parent21ce67310216dd1173a582b584399bf6096965ea (diff)
downloadlibusb-67df11b691b7cdade54cbc265f9d975d46dcc10c.tar.gz
Windows: Fix erroneous pointer array allocation reported by Clang
* Result of 'calloc' is converted to a pointer of type 'unsigned char *', which is incompatible with sizeof operand type 'PUSB_CONFIGURATION_DESCRIPTOR' * priv->config_descriptor is indeed an array of pointers, with each descriptor allocated, rather than a sequential list of fixed descriptor.
-rw-r--r--libusb/os/windows_usb.c2
-rw-r--r--libusb/version_nano.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/libusb/os/windows_usb.c b/libusb/os/windows_usb.c
index 98b26eb..461633b 100644
--- a/libusb/os/windows_usb.c
+++ b/libusb/os/windows_usb.c
@@ -901,7 +901,7 @@ static int cache_config_descriptors(struct libusb_device *dev, HANDLE hub_handle
if (dev->num_configurations == 0)
return LIBUSB_ERROR_INVALID_PARAM;
- priv->config_descriptor = (unsigned char**) calloc(dev->num_configurations, sizeof(PUSB_CONFIGURATION_DESCRIPTOR));
+ priv->config_descriptor = (unsigned char**) calloc(dev->num_configurations, sizeof(unsigned char*));
if (priv->config_descriptor == NULL)
return LIBUSB_ERROR_NO_MEM;
for (i=0; i<dev->num_configurations; i++)
diff --git a/libusb/version_nano.h b/libusb/version_nano.h
index 32a4fe1..c47019a 100644
--- a/libusb/version_nano.h
+++ b/libusb/version_nano.h
@@ -1 +1 @@
-#define LIBUSB_NANO 10529
+#define LIBUSB_NANO 10530