linux_udev: Initialize pointer before calling external API
authorVictor Toso <me@victortoso.com>
Wed, 13 Dec 2017 08:17:43 +0000 (09:17 +0100)
committerChris Dickens <christopher.a.dickens@gmail.com>
Fri, 22 Dec 2017 19:46:42 +0000 (11:46 -0800)
udev_list_entry_foreach() sets the entry variable for each device but
initializing the pointer to NULL to avoid warnings.

Found by Coverity:

libusb-1.0.21/libusb/os/linux_udev.c:273:
error[uninitvar]: Uninitialized variable: entry
>   271|    devices = udev_enumerate_get_list_entry(enumerator);
>   272|
>   273|->  udev_list_entry_foreach(entry, devices) {
>   274|        const char *path = udev_list_entry_get_name(entry);
>   275|        uint8_t busnum = 0, devaddr = 0;

Signed-off-by: Victor Toso <victortoso@redhat.com>
Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
libusb/os/linux_udev.c
libusb/version_nano.h

index 67d7e39..c97806b 100644 (file)
@@ -291,6 +291,7 @@ int linux_udev_scan_devices(struct libusb_context *ctx)
        udev_enumerate_scan_devices(enumerator);
        devices = udev_enumerate_get_list_entry(enumerator);
 
+       entry = NULL;
        udev_list_entry_foreach(entry, devices) {
                const char *path = udev_list_entry_get_name(entry);
                uint8_t busnum = 0, devaddr = 0;
index 4c701ea..277c3fd 100644 (file)
@@ -1 +1 @@
-#define LIBUSB_NANO 11219
+#define LIBUSB_NANO 11220