diff --git a/src/lib-config/get.c b/src/lib-config/get.c index 2f1e90e1..af02b048 100644 --- a/src/lib-config/get.c +++ b/src/lib-config/get.c @@ -109,6 +109,12 @@ CONFIG_NODE *config_node_traverse(CONFIG_REC *rec, const char *section, int crea } g_strfreev(list); + if (!is_node_list(node)) { + /* Will die. Better to not corrupt the config further in this case. */ + g_error("Attempt to use non-list node as list. Corrupt config?"); + return NULL; + } + /* save to cache */ str = g_strdup(section); g_hash_table_insert(rec->cache, str, node);