diff --git a/common/config/config_userapi.c b/common/config/config_userapi.c index 57b312494af8e0607e5001d1564d4225c2eccca8..0ec2e2379042042841ceac490adc58be97ee9de2 100644 --- a/common/config/config_userapi.c +++ b/common/config/config_userapi.c @@ -225,10 +225,12 @@ int config_getlist(paramlist_def_t *ParamList, paramdef_t *params, int numparams const int ret = config_get_if()->getlist(ParamList, params, numparams, prefix); if (ret >= 0 && params) { char *newprefix; - if (prefix) - asprintf(&newprefix, "%s.%s", prefix, ParamList->listname); - else + if (prefix) { + int rc = asprintf(&newprefix, "%s.%s", prefix, ParamList->listname); + if (rc < 0) newprefix = NULL; + } else { newprefix = ParamList->listname; + } char cfgpath[MAX_OPTNAME_SIZE*2 + 6]; /* prefix.listname.[listindex] */ for (int i = 0; i < ParamList->numelt; ++i) { // TODO config_process_cmdline?