summaryrefslogtreecommitdiffstats
path: root/lib/generic/trie.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/generic/trie.c')
-rw-r--r--lib/generic/trie.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/generic/trie.c b/lib/generic/trie.c
index f9aceda..21254eb 100644
--- a/lib/generic/trie.c
+++ b/lib/generic/trie.c
@@ -470,6 +470,10 @@ static int ns_longer_alloc(nstack_t *ns)
memcpy(st, ns->stack, ns->len * sizeof(node_t *));
} else {
st = realloc(ns->stack, new_size);
+ if (st == NULL) {
+ free(ns->stack); // left behind by realloc, callers bail out
+ ns->stack = NULL;
+ }
}
if (st == NULL)
return KNOT_ENOMEM;