gpib: agilent_82357a: don't check a NULL serial string

The agilent_82357a driver uses the USB device serial string for device
matching but does not verify that the string exists before passing it
to strcmp().

Verify that the device has a serial number before accessing it to avoid
triggering a NULL-pointer dereference with devices that don't provide
a serial number (iSerialNumber = 0).

Similar to commit aa79f996eb ("i2c: cp2615: fix serial string
NULL-deref at probe").

Found by Claude:sonnet-4.5

Signed-off-by: Joe Simmons-Talbott <joest@redhat.com>
Acked-by: Dave Penkler <dpenkler@gmail.com>
Link: https://patch.msgid.link/20260326131256.1758014-1-joest@redhat.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Joe Simmons-Talbott 2026-03-26 09:12:56 -04:00 committed by Greg Kroah-Hartman
parent 05cb9529a4
commit 6be50f680a

View File

@ -1298,7 +1298,7 @@ static inline int agilent_82357a_device_match(struct usb_interface *interface,
if (gpib_match_device_path(&interface->dev, config->device_path) == 0)
return 0;
if (config->serial_number &&
strcmp(usbdev->serial, config->serial_number) != 0)
(!usbdev->serial || strcmp(usbdev->serial, config->serial_number) != 0))
return 0;
return 1;