Misc: Fix more Clang warnings in core and darwin
authorPete Batard <pete@akeo.ie>
Thu, 28 Jun 2012 21:49:47 +0000 (22:49 +0100)
committerPete Batard <pete@akeo.ie>
Mon, 2 Jul 2012 17:29:27 +0000 (18:29 +0100)
* http://sourceforge.net/mailarchive/message.php?msg_id=29418038
* core.c:700:4: warning: Function call argument is an uninitialized value
* darwin_usb.c:1713:11: warning: Access to field 'cfSource' results in a
  dereference of a null pointer (loaded from variable 'hpriv')
* sync.c/dpfp.c/dpfp_threaded.c: warning: Result of 'malloc' is converted
  to a pointer of type 'unsigned char', which is incompatible with sizeof
  operand type

examples/dpfp.c
examples/dpfp_threaded.c
libusb/core.c
libusb/os/darwin_usb.c
libusb/sync.c
libusb/version_nano.h

index c7d6347..ff98b5d 100644 (file)
@@ -164,7 +164,7 @@ static void LIBUSB_CALL cb_mode_changed(struct libusb_transfer *transfer)
 
 static int set_mode_async(unsigned char data)
 {
-       unsigned char *buf = malloc(LIBUSB_CONTROL_SETUP_SIZE + 1);
+       unsigned char *buf = (unsigned char*) malloc(LIBUSB_CONTROL_SETUP_SIZE + 1);
        struct libusb_transfer *transfer;
 
        if (!buf)
index e1df6ee..c8cbb28 100644 (file)
@@ -193,7 +193,7 @@ static void LIBUSB_CALL cb_mode_changed(struct libusb_transfer *transfer)
 
 static int set_mode_async(unsigned char data)
 {
-       unsigned char *buf = malloc(LIBUSB_CONTROL_SETUP_SIZE + 1);
+       unsigned char *buf = (unsigned char*) malloc(LIBUSB_CONTROL_SETUP_SIZE + 1);
        struct libusb_transfer *transfer;
 
        if (!buf)
index 82cf782..8845909 100644 (file)
@@ -683,7 +683,7 @@ int API_EXPORTED libusb_get_port_path(libusb_context *ctx, libusb_device *dev, u
 {
        int i = path_len;
        ssize_t r;
-       struct libusb_device **devs;
+       struct libusb_device **devs = NULL;
 
        /* The device needs to be open, else the parents may have been destroyed */
        r = libusb_get_device_list(ctx, &devs);
index ac67b35..63c2bae 100644 (file)
@@ -1698,6 +1698,8 @@ static int op_handle_events(struct libusb_context *ctx, struct pollfd *fds, POLL
       if (hpriv->fds[0] == pollfd->fd)
        break;
     }
+    if (!hpriv)
+      continue;
 
     if (!(pollfd->revents & POLLERR)) {
       ret = read (hpriv->fds[0], &message, sizeof (message));
index 9defc14..5033387 100644 (file)
@@ -81,7 +81,7 @@ int API_EXPORTED libusb_control_transfer(libusb_device_handle *dev_handle,
        if (!transfer)
                return LIBUSB_ERROR_NO_MEM;
 
-       buffer = malloc(LIBUSB_CONTROL_SETUP_SIZE + wLength);
+       buffer = (unsigned char*) malloc(LIBUSB_CONTROL_SETUP_SIZE + wLength);
        if (!buffer) {
                libusb_free_transfer(transfer);
                return LIBUSB_ERROR_NO_MEM;
index 071c2ef..6df4602 100644 (file)
@@ -1 +1 @@
-#define LIBUSB_NANO 10535
+#define LIBUSB_NANO 10536