]> sigrok.org Git - libsigrok.git/blobdiff - src/device.c
Check usb_get_port_path() return value
[libsigrok.git] / src / device.c
index ae8f3b8ce5a540f6697c89ba2454dd11d2a8cb56..519a1726399b060719df6c43f2432900266e3273 100644 (file)
@@ -610,8 +610,6 @@ SR_API int sr_dev_open(struct sr_dev_inst *sdi)
  */
 SR_API int sr_dev_close(struct sr_dev_inst *sdi)
 {
-       int ret;
-
        if (!sdi || !sdi->driver || !sdi->driver->dev_close)
                return SR_ERR_ARG;
 
@@ -625,9 +623,7 @@ SR_API int sr_dev_close(struct sr_dev_inst *sdi)
 
        sr_dbg("%s: Closing device instance.", sdi->driver->name);
 
-       ret = sdi->driver->dev_close(sdi);
-
-       return ret;
+       return sdi->driver->dev_close(sdi);
 }
 
 /**
@@ -757,7 +753,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;
                }