This function can fail.  If so, do not ignore the failure.
---
 src/device.c                                   | 4 +++-
 src/hardware/chronovu-la/api.c                 | 3 ++-
 src/hardware/dreamsourcelab-dslogic/api.c      | 3 ++-
 src/hardware/dreamsourcelab-dslogic/protocol.c | 4 +++-
 src/hardware/fx2lafw/api.c                     | 3 ++-
 src/hardware/fx2lafw/protocol.c                | 4 +++-
 src/hardware/hantek-6xxx/api.c                 | 3 ++-
 src/hardware/hantek-6xxx/protocol.c            | 4 +++-
 src/hardware/hantek-dso/api.c                  | 3 ++-
 src/hardware/hantek-dso/protocol.c             | 4 +++-
 src/hardware/lecroy-logicstudio/api.c          | 6 ++++--
 src/hardware/saleae-logic-pro/api.c            | 3 ++-
 src/hardware/saleae-logic16/api.c              | 7 +++++--
 src/hardware/testo/api.c                       | 3 ++-
 src/hardware/victor-dmm/api.c                  | 3 ++-
 src/hardware/zeroplus-logic-cube/api.c         | 3 ++-
 16 files changed, 42 insertions(+), 18 deletions(-)

diff --git a/src/device.c b/src/device.c
index ae8f3b8c..3dbaa22d 100644
--- a/src/device.c
+++ b/src/device.c
@@ -757,7 +757,9 @@ SR_API const char *sr_dev_inst_connid_get(const struct 
sr_dev_inst *sdi)
                        if (b != usb->bus || a != usb->address)
                                continue;
 
-                       usb_get_port_path(devlist[i], connection_id, 
sizeof(connection_id));
+                       if (usb_get_port_path(devlist[i], connection_id, 
sizeof(connection_id)) < 0)
+                               continue;
+
                        ((struct sr_dev_inst *)sdi)->connection_id = 
g_strdup(connection_id);
                        break;
                }
diff --git a/src/hardware/chronovu-la/api.c b/src/hardware/chronovu-la/api.c
index 685a3a9d..fd4e12cb 100644
--- a/src/hardware/chronovu-la/api.c
+++ b/src/hardware/chronovu-la/api.c
@@ -194,7 +194,8 @@ static GSList *scan(struct sr_dev_driver *di, GSList 
*options)
 
                libusb_close(hdl);
 
-               usb_get_port_path(devlist[i], connection_id, 
sizeof(connection_id));
+               if (usb_get_port_path(devlist[i], connection_id, 
sizeof(connection_id)) < 0)
+                       continue;
 
                if (!strcmp(product, "ChronoVu LA8"))
                        model = 0;
diff --git a/src/hardware/dreamsourcelab-dslogic/api.c 
b/src/hardware/dreamsourcelab-dslogic/api.c
index 449e0072..693a2d05 100644
--- a/src/hardware/dreamsourcelab-dslogic/api.c
+++ b/src/hardware/dreamsourcelab-dslogic/api.c
@@ -216,7 +216,8 @@ static GSList *scan(struct sr_dev_driver *di, GSList 
*options)
 
                libusb_close(hdl);
 
-               usb_get_port_path(devlist[i], connection_id, 
sizeof(connection_id));
+               if (usb_get_port_path(devlist[i], connection_id, 
sizeof(connection_id)) < 0)
+                       continue;
 
                prof = NULL;
                for (j = 0; supported_device[j].vid; j++) {
diff --git a/src/hardware/dreamsourcelab-dslogic/protocol.c 
b/src/hardware/dreamsourcelab-dslogic/protocol.c
index 90b773d9..2f9d4c71 100644
--- a/src/hardware/dreamsourcelab-dslogic/protocol.c
+++ b/src/hardware/dreamsourcelab-dslogic/protocol.c
@@ -568,7 +568,9 @@ SR_PRIV int dslogic_dev_open(struct sr_dev_inst *sdi, 
struct sr_dev_driver *di)
                if ((sdi->status == SR_ST_INITIALIZING) ||
                                (sdi->status == SR_ST_INACTIVE)) {
                        /* Check device by its physical USB bus/port address. */
-                       usb_get_port_path(devlist[i], connection_id, 
sizeof(connection_id));
+                       if (usb_get_port_path(devlist[i], connection_id, 
sizeof(connection_id)) < 0)
+                               continue;
+
                        if (strcmp(sdi->connection_id, connection_id))
                                /* This is not the one. */
                                continue;
diff --git a/src/hardware/fx2lafw/api.c b/src/hardware/fx2lafw/api.c
index 862719f3..6045ad22 100644
--- a/src/hardware/fx2lafw/api.c
+++ b/src/hardware/fx2lafw/api.c
@@ -253,7 +253,8 @@ static GSList *scan(struct sr_dev_driver *di, GSList 
*options)
 
                libusb_close(hdl);
 
-               usb_get_port_path(devlist[i], connection_id, 
sizeof(connection_id));
+               if (usb_get_port_path(devlist[i], connection_id, 
sizeof(connection_id)) < 0)
+                       continue;
 
                prof = NULL;
                for (j = 0; supported_fx2[j].vid; j++) {
diff --git a/src/hardware/fx2lafw/protocol.c b/src/hardware/fx2lafw/protocol.c
index fc6fd331..ec2b5c01 100644
--- a/src/hardware/fx2lafw/protocol.c
+++ b/src/hardware/fx2lafw/protocol.c
@@ -174,7 +174,9 @@ SR_PRIV int fx2lafw_dev_open(struct sr_dev_inst *sdi, 
struct sr_dev_driver *di)
                        /*
                         * Check device by its physical USB bus/port address.
                         */
-                       usb_get_port_path(devlist[i], connection_id, 
sizeof(connection_id));
+                       if (usb_get_port_path(devlist[i], connection_id, 
sizeof(connection_id)) < 0)
+                               continue;
+
                        if (strcmp(sdi->connection_id, connection_id))
                                /* This is not the one. */
                                continue;
diff --git a/src/hardware/hantek-6xxx/api.c b/src/hardware/hantek-6xxx/api.c
index 4e648089..b34ba0bd 100644
--- a/src/hardware/hantek-6xxx/api.c
+++ b/src/hardware/hantek-6xxx/api.c
@@ -217,7 +217,8 @@ static GSList *scan(struct sr_dev_driver *di, GSList 
*options)
 
                libusb_get_device_descriptor(devlist[i], &des);
 
-               usb_get_port_path(devlist[i], connection_id, 
sizeof(connection_id));
+               if (usb_get_port_path(devlist[i], connection_id, 
sizeof(connection_id)) < 0)
+                       continue;
 
                prof = NULL;
                for (j = 0; dev_profiles[j].orig_vid; j++) {
diff --git a/src/hardware/hantek-6xxx/protocol.c 
b/src/hardware/hantek-6xxx/protocol.c
index 8e406ffe..75d8ab91 100644
--- a/src/hardware/hantek-6xxx/protocol.c
+++ b/src/hardware/hantek-6xxx/protocol.c
@@ -46,7 +46,9 @@ SR_PRIV int hantek_6xxx_open(struct sr_dev_inst *sdi)
                        /*
                         * Check device by its physical USB bus/port address.
                         */
-                       usb_get_port_path(devlist[i], connection_id, 
sizeof(connection_id));
+                       if (usb_get_port_path(devlist[i], connection_id, 
sizeof(connection_id)) < 0)
+                               continue;
+
                        if (strcmp(sdi->connection_id, connection_id))
                                /* This is not the one. */
                                continue;
diff --git a/src/hardware/hantek-dso/api.c b/src/hardware/hantek-dso/api.c
index 01ef47f8..70462810 100644
--- a/src/hardware/hantek-dso/api.c
+++ b/src/hardware/hantek-dso/api.c
@@ -289,7 +289,8 @@ static GSList *scan(struct sr_dev_driver *di, GSList 
*options)
 
                libusb_get_device_descriptor(devlist[i], &des);
 
-               usb_get_port_path(devlist[i], connection_id, 
sizeof(connection_id));
+               if (usb_get_port_path(devlist[i], connection_id, 
sizeof(connection_id)) < 0)
+                       continue;
 
                prof = NULL;
                for (j = 0; dev_profiles[j].orig_vid; j++) {
diff --git a/src/hardware/hantek-dso/protocol.c 
b/src/hardware/hantek-dso/protocol.c
index 644ac0d2..ed21a6ab 100644
--- a/src/hardware/hantek-dso/protocol.c
+++ b/src/hardware/hantek-dso/protocol.c
@@ -130,7 +130,9 @@ SR_PRIV int dso_open(struct sr_dev_inst *sdi)
                        /*
                         * Check device by its physical USB bus/port address.
                         */
-                       usb_get_port_path(devlist[i], connection_id, 
sizeof(connection_id));
+                       if (usb_get_port_path(devlist[i], connection_id, 
sizeof(connection_id)) < 0)
+                               continue;
+
                        if (strcmp(sdi->connection_id, connection_id))
                                /* This is not the one. */
                                continue;
diff --git a/src/hardware/lecroy-logicstudio/api.c 
b/src/hardware/lecroy-logicstudio/api.c
index 6dd0bd01..e75b5b09 100644
--- a/src/hardware/lecroy-logicstudio/api.c
+++ b/src/hardware/lecroy-logicstudio/api.c
@@ -134,7 +134,8 @@ static GSList *scan(struct sr_dev_driver *di, GSList 
*options)
                if (des.idVendor != LOGICSTUDIO16_VID)
                        continue;
 
-               usb_get_port_path(devlist[i], connection_id, 
sizeof(connection_id));
+               if (usb_get_port_path(devlist[i], connection_id, 
sizeof(connection_id)) < 0)
+                       continue;
 
                usb = NULL;
 
@@ -210,7 +211,8 @@ static int open_device(struct sr_dev_inst *sdi)
                        des.idProduct != LOGICSTUDIO16_PID_HAVE_FIRMWARE)
                        continue;
 
-               usb_get_port_path(devlist[i], connection_id, 
sizeof(connection_id));
+               if (usb_get_port_path(devlist[i], connection_id, 
sizeof(connection_id)) < 0)
+                       continue;
 
                /*
                 * Check if this device is the same one that we associated
diff --git a/src/hardware/saleae-logic-pro/api.c 
b/src/hardware/saleae-logic-pro/api.c
index a7e04548..ae444dd8 100644
--- a/src/hardware/saleae-logic-pro/api.c
+++ b/src/hardware/saleae-logic-pro/api.c
@@ -240,7 +240,8 @@ static GSList *scan(struct sr_dev_driver *di, GSList 
*options)
                if (des.idVendor != 0x21a9 || des.idProduct != 0x1006)
                        continue;
 
-               usb_get_port_path(devlist[i], connection_id, 
sizeof(connection_id));
+               if (usb_get_port_path(devlist[i], connection_id, 
sizeof(connection_id)) < 0)
+                       continue;
 
                sdi = g_malloc0(sizeof(struct sr_dev_inst));
                sdi->status = SR_ST_INITIALIZING;
diff --git a/src/hardware/saleae-logic16/api.c 
b/src/hardware/saleae-logic16/api.c
index dedb9a24..ed9e1ecd 100644
--- a/src/hardware/saleae-logic16/api.c
+++ b/src/hardware/saleae-logic16/api.c
@@ -188,7 +188,8 @@ static GSList *scan(struct sr_dev_driver *di, GSList 
*options)
 
                libusb_get_device_descriptor(devlist[i], &des);
 
-               usb_get_port_path(devlist[i], connection_id, 
sizeof(connection_id));
+               if (usb_get_port_path(devlist[i], connection_id, 
sizeof(connection_id)) < 0)
+                       continue;
 
                if (des.idVendor != LOGIC16_VID || des.idProduct != LOGIC16_PID)
                        continue;
@@ -266,7 +267,9 @@ static int logic16_dev_open(struct sr_dev_inst *sdi)
                        /*
                         * Check device by its physical USB bus/port address.
                         */
-                       usb_get_port_path(devlist[i], connection_id, 
sizeof(connection_id));
+                       if (usb_get_port_path(devlist[i], connection_id, 
sizeof(connection_id)) < 0)
+                               continue;
+
                        if (strcmp(sdi->connection_id, connection_id))
                                /* This is not the one. */
                                continue;
diff --git a/src/hardware/testo/api.c b/src/hardware/testo/api.c
index 90fb65ca..43a5f251 100644
--- a/src/hardware/testo/api.c
+++ b/src/hardware/testo/api.c
@@ -109,7 +109,8 @@ static GSList *scan(struct sr_dev_driver *di, GSList 
*options)
                if (strncmp(manufacturer, "testo", 5))
                        continue;
 
-               usb_get_port_path(devlist[i], connection_id, 
sizeof(connection_id));
+               if (usb_get_port_path(devlist[i], connection_id, 
sizeof(connection_id)) < 0)
+                       continue;
 
                /* Hardcode the 435 for now. */
                if (strcmp(product, "testo 435/635/735"))
diff --git a/src/hardware/victor-dmm/api.c b/src/hardware/victor-dmm/api.c
index 6a9b774f..d415a3f9 100644
--- a/src/hardware/victor-dmm/api.c
+++ b/src/hardware/victor-dmm/api.c
@@ -69,7 +69,8 @@ static GSList *scan(struct sr_dev_driver *di, GSList *options)
                if (des.idVendor != VICTOR_VID || des.idProduct != VICTOR_PID)
                        continue;
 
-               usb_get_port_path(devlist[i], connection_id, 
sizeof(connection_id));
+               if (usb_get_port_path(devlist[i], connection_id, 
sizeof(connection_id)) < 0)
+                       continue;
 
                sdi = g_malloc0(sizeof(struct sr_dev_inst));
                sdi->status = SR_ST_INACTIVE;
diff --git a/src/hardware/zeroplus-logic-cube/api.c 
b/src/hardware/zeroplus-logic-cube/api.c
index d8067416..63a18e8a 100644
--- a/src/hardware/zeroplus-logic-cube/api.c
+++ b/src/hardware/zeroplus-logic-cube/api.c
@@ -193,7 +193,8 @@ static GSList *scan(struct sr_dev_driver *di, GSList 
*options)
 
                libusb_close(hdl);
 
-               usb_get_port_path(devlist[i], connection_id, 
sizeof(connection_id));
+               if (usb_get_port_path(devlist[i], connection_id, 
sizeof(connection_id)) < 0)
+                       continue;
 
                prof = NULL;
                for (j = 0; j < zeroplus_models[j].vid; j++) {
-- 
2.15.0


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
sigrok-devel mailing list
sigrok-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sigrok-devel

Reply via email to