]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/hp-3478a/api.c
hp-3478a: Handle NULL dereference in read, write and list.
[libsigrok.git] / src / hardware / hp-3478a / api.c
index c1e494dff41680ca47419a74a3afd20161bc5cc1..1979c52928d78dfcae41c989668e1e5571f328fa 100644 (file)
@@ -192,6 +192,8 @@ static int config_get(uint32_t key, GVariant **data,
 
        (void)cg;
 
+       if (!sdi)
+               return SR_ERR_ARG;
        devc = sdi->priv;
 
        switch (key) {
@@ -247,6 +249,8 @@ static int config_set(uint32_t key, GVariant *data,
 
        (void)cg;
 
+       if (!sdi)
+               return SR_ERR_ARG;
        devc = sdi->priv;
 
        switch (key) {
@@ -294,6 +298,10 @@ static int config_list(uint32_t key, GVariant **data,
        GVariant *gvar, *arr[2];
        GVariantBuilder gvb;
 
+       /* Only handle standard keys when no device instance is given. */
+       if (!sdi)
+               return STD_CONFIG_LIST(key, data, sdi, cg, scanopts, drvopts, devopts);
+
        devc = sdi->priv;
 
        switch (key) {