summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib-config/get.c6
1 files changed, 6 insertions, 0 deletions
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);