diff --git a/src/main/interface/cli.c b/src/main/interface/cli.c index 2f44f8d564..19e7129512 100644 --- a/src/main/interface/cli.c +++ b/src/main/interface/cli.c @@ -489,10 +489,13 @@ static void cliPrintVarRange(const clivalue_t *var) case (MODE_LOOKUP): { const lookupTableEntry_t *tableEntry = &lookupTables[var->config.lookup.tableIndex]; cliPrint("Allowed values:"); - for (uint32_t i = 0; i < tableEntry->valueCount ; i++) { - if (i > 0) - cliPrint(","); - cliPrintf(" %s", tableEntry->values[i]); + for (uint32_t i = 0; i < tableEntry->valueCount; i++) { + if (tableEntry->values[i]) { + cliPrintf(" %s", tableEntry->values[i]); + if (i + 1 < tableEntry->valueCount) { + cliPrint(","); + } + } } cliPrintLinefeed(); } @@ -2965,7 +2968,7 @@ STATIC_UNIT_TESTED void cliSet(char *cmdline) const lookupTableEntry_t *tableEntry = &lookupTables[val->config.lookup.tableIndex]; bool matched = false; for (uint32_t tableValueIndex = 0; tableValueIndex < tableEntry->valueCount && !matched; tableValueIndex++) { - matched = strcasecmp(tableEntry->values[tableValueIndex], eqptr) == 0; + matched = tableEntry->values[tableValueIndex] && strcasecmp(tableEntry->values[tableValueIndex], eqptr) == 0; if (matched) { value = tableValueIndex;