parse_zero does not need allocated memory, remove it and let the caller
free it.

Signed-off-by: Peter Wu <[email protected]>
---
 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


_______________________________________________
Ltrace-devel mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/ltrace-devel

Reply via email to