summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRichard Hughes <richard@hughsie.com>2010-05-28 14:03:56 +0100
committerRichard Hughes <richard@hughsie.com>2010-05-28 14:03:56 +0100
commit5c17b5a147874645c0dadde3957a9d9b7132993e (patch)
tree2079d2c0709e6c5ec8b187040ee19ed80eaf9f59 /src
parent7019d214f82caf2ba83f7b34894a4d7920708831 (diff)
Fix up a potential crasher in the CSR device code
Diffstat (limited to 'src')
-rw-r--r--src/linux/up-device-csr.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/linux/up-device-csr.c b/src/linux/up-device-csr.c
index 78e3ea7..6c4815f 100644
--- a/src/linux/up-device-csr.c
+++ b/src/linux/up-device-csr.c
@@ -90,7 +90,7 @@ static libusb_device *
up_device_csr_find_device (UpDeviceCsr *csr)
{
libusb_device *curr_device = NULL;
- libusb_device **devices;
+ libusb_device **devices = NULL;
guint8 bus_num;
guint8 dev_num;
guint i;
@@ -99,6 +99,10 @@ up_device_csr_find_device (UpDeviceCsr *csr)
/* try to find the right device */
libusb_get_device_list (csr->priv->ctx, &devices);
+ if (devices == NULL) {
+ egg_warning ("failed to get any devices");
+ goto out;
+ }
for (i=0; devices[i] != NULL; i++) {
bus_num = libusb_get_bus_number (devices[i]);
@@ -111,6 +115,7 @@ up_device_csr_find_device (UpDeviceCsr *csr)
}
libusb_free_device_list (devices, TRUE);
+out:
return curr_device;
}