From: Olivier Matz Date: Sun, 20 Feb 2011 16:58:01 +0000 (+0100) Subject: genconf: fix memory corruption in error cases X-Git-Url: http://git.droids-corp.org/?p=libcmdline.git;a=commitdiff_plain;h=731f845a6d1fc3d7a5d477c0fde2b605215e5c85 genconf: fix memory corruption in error cases Signed-off-by: Olivier Matz --- 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)