From 0c8283f7596812bb6ad7c80580044961ae939eb6 Mon Sep 17 00:00:00 2001 From: Jacob Date: Wed, 20 May 2026 22:41:57 -0500 Subject: [PATCH 1/2] Fix potential memory leak in parse_uevent_info --- linux/hid.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/linux/hid.c b/linux/hid.c index 148e48848..203163e11 100644 --- a/linux/hid.c +++ b/linux/hid.c @@ -616,10 +616,12 @@ static int parse_uevent_info(const char *uevent, unsigned *bus_type, } } else if (strcmp(key, "HID_NAME") == 0) { /* The caller has to free the product name */ + free(*product_name_utf8); *product_name_utf8 = strdup(value); found_name = 1; } else if (strcmp(key, "HID_UNIQ") == 0) { /* The caller has to free the serial number */ + free(*serial_number_utf8); *serial_number_utf8 = strdup(value); found_serial = 1; } From 5a886b7a4f66a59448ee4adcdd0ffdbe05a0c99c Mon Sep 17 00:00:00 2001 From: Jacob Date: Wed, 20 May 2026 22:42:27 -0500 Subject: [PATCH 2/2] Remaining IWYU cleanups --- hidtest/test.c | 1 - libusb/hid.c | 4 +--- linux/hid.c | 10 ++++++---- mac/hid.c | 3 +++ 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/hidtest/test.c b/hidtest/test.c index eb01d88e0..56fb779ff 100644 --- a/hidtest/test.c +++ b/hidtest/test.c @@ -19,7 +19,6 @@ #include #include #include - #include // Headers needed for sleeping. diff --git a/libusb/hid.c b/libusb/hid.c index d2ceef5d3..553a3bf8b 100644 --- a/libusb/hid.c +++ b/libusb/hid.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -33,9 +34,6 @@ /* Unix */ #include #include -#include -#include -#include #include #include diff --git a/linux/hid.c b/linux/hid.c index 203163e11..247e10295 100644 --- a/linux/hid.c +++ b/linux/hid.c @@ -26,24 +26,26 @@ #include #include #include - /* Unix */ #include -#include #include #include -#include #include #include +#include +#include +#include +#include /* Linux */ #include -#include #include #include #include "hidapi.h" +struct udev_device; + #ifdef HIDAPI_ALLOW_BUILD_WORKAROUND_KERNEL_2_6_39 /* This definitions first appeared in Linux Kernel 2.6.39 in linux/hidraw.h. hidapi doesn't support kernels older than that, diff --git a/mac/hid.c b/mac/hid.c index a91bc1902..b596421c3 100644 --- a/mac/hid.c +++ b/mac/hid.c @@ -29,12 +29,15 @@ #include #include #include +#include +#include #include #include #include #include #include #include +#include #include "hidapi_darwin.h"