]> sigrok.org Git - libsigrok.git/blobdiff - src/hwdriver.c
Fix invalid pointer dereference.
[libsigrok.git] / src / hwdriver.c
index 81e7b588704fe30db6be3489288d02416dd9045f..13be087aedb3391d35571e63ecc52304ac678523 100644 (file)
@@ -442,6 +442,8 @@ static int check_key(const struct sr_dev_driver *driver,
                return SR_ERR_ARG;
        }
        opstr = op == SR_CONF_GET ? "get" : op == SR_CONF_SET ? "set" : "list";
+       sr_spew("sr_config_%s(): key %d (%s) sdi %p cg %s", opstr, key,
+                       srci->id, sdi, cg ? cg->name : "NULL");
 
        if (sr_config_list(driver, sdi, cg, SR_CONF_DEVICE_OPTIONS, &gvar_opts) != SR_OK) {
                /* Driver publishes no options. */
@@ -614,9 +616,9 @@ SR_API int sr_config_list(const struct sr_dev_driver *driver,
        int ret;
 
        if (!driver || !data)
-               ret = SR_ERR;
+               return SR_ERR;
        else if (!driver->config_list)
-               ret = SR_ERR_ARG;
+               return SR_ERR_ARG;
        else if (key != SR_CONF_SCAN_OPTIONS && key != SR_CONF_DEVICE_OPTIONS) {
                if (check_key(driver, sdi, cg, key, SR_CONF_LIST) != SR_OK)
                        return SR_ERR_ARG;