summaryrefslogtreecommitdiff
path: root/libusb/descriptor.c
diff options
context:
space:
mode:
authorTobias Klauser <tklauser@distanz.ch>2015-04-14 17:43:05 +0200
committerChris Dickens <christopher.a.dickens@gmail.com>2015-09-20 15:06:14 -0700
commita7e946aa1dcf51cfdada5732938e5d1ca18c749f (patch)
tree62a515513e9cd2f507a5ca07783c70ca4714e6c8 /libusb/descriptor.c
parente9a52c03ae3fecb51b882a807c427f4b4dfa2d1e (diff)
downloadlibusb-a7e946aa1dcf51cfdada5732938e5d1ca18c749f.tar.gz
Miscellaneous fixes
* Use UNUSED macro instead of open coding it * Use calloc to allocate and zero out buffers where appropriate * Make unnecessarily global variables static * Use strdup() instead of open-coding it * Use passed fd in set_fd_cloexec_nb() * Remove unused parameter from linux_device_disconnected() * Closes #65 Signed-off-by: Tobias Klauser <tklauser@distanz.ch> Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
Diffstat (limited to 'libusb/descriptor.c')
-rw-r--r--libusb/descriptor.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/libusb/descriptor.c b/libusb/descriptor.c
index b904657..defcacb 100644
--- a/libusb/descriptor.c
+++ b/libusb/descriptor.c
@@ -222,7 +222,6 @@ static int parse_interface(libusb_context *ctx,
int r;
int parsed = 0;
int interface_number = -1;
- size_t tmp;
struct usb_descriptor_header header;
struct libusb_interface_descriptor *ifp;
unsigned char *begin;
@@ -323,15 +322,13 @@ static int parse_interface(libusb_context *ctx,
if (ifp->bNumEndpoints > 0) {
struct libusb_endpoint_descriptor *endpoint;
- tmp = ifp->bNumEndpoints * sizeof(struct libusb_endpoint_descriptor);
- endpoint = malloc(tmp);
+ endpoint = calloc(ifp->bNumEndpoints, sizeof(struct libusb_endpoint_descriptor));
ifp->endpoint = endpoint;
if (!endpoint) {
r = LIBUSB_ERROR_NO_MEM;
goto err;
}
- memset(endpoint, 0, tmp);
for (i = 0; i < ifp->bNumEndpoints; i++) {
r = parse_endpoint(ctx, endpoint + i, buffer, size,
host_endian);
@@ -381,7 +378,6 @@ static int parse_configuration(struct libusb_context *ctx,
{
int i;
int r;
- size_t tmp;
struct usb_descriptor_header header;
struct libusb_interface *usb_interface;
@@ -411,13 +407,11 @@ static int parse_configuration(struct libusb_context *ctx,
return LIBUSB_ERROR_IO;
}
- tmp = config->bNumInterfaces * sizeof(struct libusb_interface);
- usb_interface = malloc(tmp);
+ usb_interface = calloc(config->bNumInterfaces, sizeof(struct libusb_interface));
config->interface = usb_interface;
- if (!config->interface)
+ if (!usb_interface)
return LIBUSB_ERROR_NO_MEM;
- memset(usb_interface, 0, tmp);
buffer += config->bLength;
size -= config->bLength;