aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Rostedt <srostedt@redhat.com>2010-04-06 10:15:32 -0400
committerSteven Rostedt <rostedt@goodmis.org>2010-04-06 10:15:32 -0400
commite3e4e76fce3671d9f002f99454d9776cb1659b13 (patch)
tree67a8bbe5db7297eddef09beb9cbc260a3affd6c0
parentc7c96756134a7e8ea610f116312636bd8c6baf18 (diff)
parse-events: Fix error path from process_value() failing
The parent arg in process_value() may not be changed on error. If we pass in an argument, then it needs to be initialized to NULL if we plan on freeing it on failure. Reported-by: Li Zefan <lizf@cn.fujitsu.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
-rw-r--r--parse-filter.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/parse-filter.c b/parse-filter.c
index a973a72..4efce04 100644
--- a/parse-filter.c
+++ b/parse-filter.c
@@ -615,7 +615,7 @@ process_cmp(struct event_format *event, enum filter_cmp_type op_type,
615 char **tok, char **error_str) 615 char **tok, char **error_str)
616{ 616{
617 struct filter_arg *arg; 617 struct filter_arg *arg;
618 struct filter_arg *rarg; 618 struct filter_arg *rarg = NULL;
619 enum event_type orig_type; 619 enum event_type orig_type;
620 enum event_type type; 620 enum event_type type;
621 int ret; 621 int ret;
@@ -744,7 +744,7 @@ process_exp(struct event_format *event, enum filter_exp_type etype,
744 struct filter_arg *larg, struct filter_arg **parg, 744 struct filter_arg *larg, struct filter_arg **parg,
745 char **tok, char **error_str) 745 char **tok, char **error_str)
746{ 746{
747 struct filter_arg *rarg; 747 struct filter_arg *rarg = NULL;
748 struct filter_arg *arg; 748 struct filter_arg *arg;
749 enum event_type orig_type; 749 enum event_type orig_type;
750 enum event_type type; 750 enum event_type type;