[Ltrace-devel] [PATCH 4/4] Fix memory leak for zero(EXPR)
Peter Wu
lekensteyn at gmail.com
Wed Sep 25 22:55:58 UTC 2013
parse_zero does not need allocated memory, remove it and let the caller
free it.
Signed-off-by: Peter Wu <lekensteyn at gmail.com>
---
read_config_file.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/read_config_file.c b/read_config_file.c
index 55124f6..6e3add4 100644
--- a/read_config_file.c
+++ b/read_config_file.c
@@ -256,7 +256,7 @@ static struct expr_node *parse_argnum(struct locus *loc,
char **str, int *ownp, int zero);
static struct expr_node *
-parse_zero(struct locus *loc, char **str, struct expr_node *ret, int *ownp)
+parse_zero(struct locus *loc, char **str, int *ownp)
{
eat_spaces(str);
if (**str == '(') {
@@ -279,7 +279,6 @@ parse_zero(struct locus *loc, char **str, struct expr_node *ret, int *ownp)
return ret;
} else {
- free(ret);
*ownp = 0;
return expr_node_zero();
}
@@ -366,9 +365,10 @@ parse_argnum(struct locus *loc, char **str, int *ownp, int zero)
} else if (strcmp(name, "zero") == 0) {
struct expr_node *ret
- = parse_zero(loc, str, expr, ownp);
+ = parse_zero(loc, str, ownp);
if (ret == NULL)
goto fail_ident;
+ free(expr);
free(name);
return ret;
--
1.8.4
More information about the Ltrace-devel
mailing list