From: Gerhard Sittig Date: Fri, 9 Feb 2018 18:05:38 +0000 (+0100) Subject: hp-3457a: fix potential NULL dereference X-Git-Url: https://sigrok.org/gitaction?a=commitdiff_plain;h=1674225a2fa7e1b6d0c235549e1a7f6ec44e7520;p=libsigrok.git hp-3457a: fix potential NULL dereference Check the active channels' list for not being empty, before dereferencing pointers. This was reported by clang's scan-build. --- diff --git a/src/hardware/hp-3457a/api.c b/src/hardware/hp-3457a/api.c index 5325224e..64fdab54 100644 --- a/src/hardware/hp-3457a/api.c +++ b/src/hardware/hp-3457a/api.c @@ -359,8 +359,13 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi) return SR_ERR_ARG; } - devc->current_channel = devc->active_channels->data; devc->num_active_channels = g_slist_length(devc->active_channels); + if (!devc->num_active_channels) { + sr_err("Need at least one active channel!"); + g_slist_free(devc->active_channels); + return SR_ERR_ARG; + } + devc->current_channel = devc->active_channels->data; hp_3457a_select_input(sdi, front_selected ? CONN_FRONT : CONN_REAR);