From b950eacfdf148ea529b9fdf0fca905042941bd89 Mon Sep 17 00:00:00 2001 From: Philippe Teuwen Date: Fri, 5 Apr 2013 15:42:01 +0200 Subject: [PATCH] drivers USB: check usb_open() result Fixes issue 245 --- libnfc/drivers/acr122_usb.c | 5 ++++- libnfc/drivers/pn53x_usb.c | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/libnfc/drivers/acr122_usb.c b/libnfc/drivers/acr122_usb.c index 0c462eac..09e9945a 100644 --- a/libnfc/drivers/acr122_usb.c +++ b/libnfc/drivers/acr122_usb.c @@ -327,6 +327,8 @@ acr122_usb_scan(const nfc_context *context, nfc_connstring connstrings[], const } usb_dev_handle *udev = usb_open(dev); + if (udev == NULL) + continue; // Set configuration // acr122_usb_get_usb_device_name (dev, udev, pnddDevices[device_found].acDevice, sizeof (pnddDevices[device_found].acDevice)); @@ -413,7 +415,8 @@ acr122_usb_open(const nfc_context *context, const nfc_connstring connstring) continue; } // Open the USB device - data.pudh = usb_open(dev); + if ((data.pudh = usb_open(dev)) == NULL) + continue; // Reset device usb_reset(data.pudh); // Retrieve end points diff --git a/libnfc/drivers/pn53x_usb.c b/libnfc/drivers/pn53x_usb.c index 26edd82e..ee9c99cd 100644 --- a/libnfc/drivers/pn53x_usb.c +++ b/libnfc/drivers/pn53x_usb.c @@ -204,6 +204,8 @@ pn53x_usb_scan(const nfc_context *context, nfc_connstring connstrings[], const s } usb_dev_handle *udev = usb_open(dev); + if (udev == NULL) + continue; // Set configuration int res = usb_set_configuration(udev, 1); @@ -298,7 +300,8 @@ pn53x_usb_open(const nfc_context *context, const nfc_connstring connstring) continue; } // Open the USB device - data.pudh = usb_open(dev); + if ((data.pudh = usb_open(dev)) == NULL) + continue; // Retrieve end points pn53x_usb_get_end_points(dev, &data); // Set configuration