From ce9d2bb688997fa26d0a2799172db7a733b9b5ca Mon Sep 17 00:00:00 2001 From: "Wei,Jiangang" Date: Wed, 10 Jun 2015 14:55:00 +0800 Subject: pan/symbol.c: fix memory leak for failure case Signed-off-by: Wei,Jiangang --- pan/symbol.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'pan') diff --git a/pan/symbol.c b/pan/symbol.c index d7b90af1e..ca9964ab2 100644 --- a/pan/symbol.c +++ b/pan/symbol.c @@ -112,6 +112,7 @@ static struct sym *mknode(struct sym *next, char *key, void *data) if (n->key == NULL) { sym_error = "sym node strdup(key) failed!"; + free(n); return (NULL); } return (n); @@ -204,8 +205,10 @@ int sym_put(SYM sym, char *key, void *data, int flags) nkey = strdup(key); keys = splitstr(key, ",", NULL); - if (keys == NULL) + if (keys == NULL) { + free(nkey); return (EINVAL); + } for (kk = (char **)keys, csym = sym; *kk != NULL && (nsym = find_key1(csym->sym, *kk)) != NULL; -- cgit v1.2.3