]> sigrok.org Git - libsigrok.git/commitdiff
dreamsourcelab-dslogic: avoid NULL pointer dereference
authorGerhard Sittig <redacted>
Thu, 8 Feb 2018 22:11:59 +0000 (23:11 +0100)
committerUwe Hermann <redacted>
Fri, 9 Feb 2018 20:34:17 +0000 (21:34 +0100)
Check pointers' validity before dereferencing them.

This was reported by clang's scan-build.

src/hardware/dreamsourcelab-dslogic/api.c

index 66c810372efd583880697b1724820cff39ea1b15..021d702344ebee079720716867b550e9812cb4c9 100644 (file)
@@ -514,12 +514,16 @@ static int config_list(uint32_t key, GVariant **data,
        case SR_CONF_DEVICE_OPTIONS:
                return STD_CONFIG_LIST(key, data, sdi, cg, scanopts, drvopts, devopts);
        case SR_CONF_VOLTAGE_THRESHOLD:
+               if (!devc || !devc->profile)
+                       return SR_ERR_ARG;
                if (!strcmp(devc->profile->model, "DSLogic"))
                        *data = std_gvar_thresholds(ARRAY_AND_SIZE(thresholds));
                else
                        *data = std_gvar_min_max_step_thresholds(0.0, 5.0, 0.1);
                break;
        case SR_CONF_SAMPLERATE:
+               if (!devc)
+                       return SR_ERR_ARG;
                *data = std_gvar_samplerates(devc->samplerates, devc->num_samplerates);
                break;
        case SR_CONF_TRIGGER_MATCH: