From ea48edafb05a26f1288e1b8ff94d92f16fe2f2fa Mon Sep 17 00:00:00 2001 From: Namhyung Kim Date: Wed, 19 Sep 2012 15:58:43 +0900 Subject: [PATCH] --- yaml --- r: 323877 b: refs/heads/master c: f8c49d2645e5028e48ba15ec72728be121eddf95 h: refs/heads/master i: 323875: 13eccf5f6f638eaa2ea809a78bdc5a04f3660db8 v: v3 --- [refs] | 2 +- trunk/tools/lib/traceevent/event-parse.c | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 3f9ee459235e..8d52eda74246 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 41e51a289b3ca83e08395213f4488c9c7c6b2e29 +refs/heads/master: f8c49d2645e5028e48ba15ec72728be121eddf95 diff --git a/trunk/tools/lib/traceevent/event-parse.c b/trunk/tools/lib/traceevent/event-parse.c index 27088c55af1b..a776ed5cd2b4 100644 --- a/trunk/tools/lib/traceevent/event-parse.c +++ b/trunk/tools/lib/traceevent/event-parse.c @@ -2186,10 +2186,10 @@ process_fields(struct event_format *event, struct print_flag_sym **list, char ** value = arg_eval(arg); if (value == NULL) - goto out_free; + goto out_free_field; field->value = strdup(value); if (field->value == NULL) - goto out_free; + goto out_free_field; free_arg(arg); arg = alloc_arg(); @@ -2197,14 +2197,14 @@ process_fields(struct event_format *event, struct print_flag_sym **list, char ** free_token(token); type = process_arg(event, arg, &token); if (test_type_token(type, token, EVENT_OP, "}")) - goto out_free; + goto out_free_field; value = arg_eval(arg); if (value == NULL) - goto out_free; + goto out_free_field; field->str = strdup(value); if (field->str == NULL) - goto out_free; + goto out_free_field; free_arg(arg); arg = NULL; @@ -2218,6 +2218,8 @@ process_fields(struct event_format *event, struct print_flag_sym **list, char ** *tok = token; return type; +out_free_field: + free_flag_sym(field); out_free: free_arg(arg); free_token(token);