diff options
| author | Steven Rostedt <srostedt@redhat.com> | 2010-04-06 10:15:32 -0400 |
|---|---|---|
| committer | Steven Rostedt <rostedt@goodmis.org> | 2010-04-06 10:15:32 -0400 |
| commit | e3e4e76fce3671d9f002f99454d9776cb1659b13 (patch) | |
| tree | 67a8bbe5db7297eddef09beb9cbc260a3affd6c0 | |
| parent | c7c96756134a7e8ea610f116312636bd8c6baf18 (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.c | 4 |
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; |
