From 731f845a6d1fc3d7a5d477c0fde2b605215e5c85 Mon Sep 17 00:00:00 2001 From: Olivier Matz Date: Sun, 20 Feb 2011 17:58:01 +0100 Subject: [PATCH] genconf: fix memory corruption in error cases Signed-off-by: Olivier Matz --- src/genconf/parse_confnode.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/genconf/parse_confnode.c b/src/genconf/parse_confnode.c index 033e45d..2a9ed06 100644 --- a/src/genconf/parse_confnode.c +++ b/src/genconf/parse_confnode.c @@ -198,6 +198,7 @@ complete_conf_node_start(cmdline_parse_token_hdr_t *tk, unsigned flags = tkd->flags; unsigned mask = tkd->mask; + *opaque = NULL; cb = malloc(sizeof(*cb)); if (cb == NULL) return -1; @@ -241,7 +242,8 @@ complete_conf_node_iterate(cmdline_parse_token_hdr_t *tk, void **opaque, static void complete_conf_node_end(cmdline_parse_token_hdr_t *tk, void **opaque) { - free(*opaque); + if (*opaque) + free(*opaque); } int help_conf_node(cmdline_parse_token_hdr_t *tk, char *dstbuf, unsigned int size) -- 2.20.1