diff options
author | Pete Batard <pete@akeo.ie> | 2012-06-13 13:38:46 +0100 |
---|---|---|
committer | Pete Batard <pete@akeo.ie> | 2012-06-13 20:52:39 +0100 |
commit | 67df11b691b7cdade54cbc265f9d975d46dcc10c (patch) | |
tree | a5d8c74a483cbbb8630b9aaa3644b89eddc5cf1e | |
parent | 21ce67310216dd1173a582b584399bf6096965ea (diff) | |
download | libusb-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.c | 2 | ||||
-rw-r--r-- | libusb/version_nano.h | 2 |
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 |