[PATCH v2] parse-events: Free flag/sym field on failure path

From: Namhyung Kim
Date: Mon Apr 23 2012 - 21:08:35 EST


If parsing flag/sym field failed after allocating it, it
should be freed. As Steven advises, make the field NULL
and check it at out_free instead of adding more goto labels.

Signed-off-by: Namhyung Kim <namhyung.kim@xxxxxxx>
---
parse-events.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/parse-events.c b/parse-events.c
index bd078ba..3ccedd9 100644
--- a/parse-events.c
+++ b/parse-events.c
@@ -2147,6 +2147,7 @@ process_fields(struct event_format *event, struct print_flag_sym **list, char **
if (test_type_token(type, token, EVENT_OP, "{"))
break;

+ field = NULL;
arg = alloc_arg();

free_token(token);
@@ -2199,6 +2200,10 @@ process_fields(struct event_format *event, struct print_flag_sym **list, char **
return type;

out_free:
+ if (field) {
+ free(field->value);
+ free(field);
+ }
free_arg(arg);
free_token(token);
*tok = NULL;
--
1.7.10

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/