diff options
Diffstat (limited to 'tools/lib')
-rw-r--r-- | tools/lib/traceevent/event-parse.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/tools/lib/traceevent/event-parse.c b/tools/lib/traceevent/event-parse.c index 445a43ad42fd..355902795f0a 100644 --- a/tools/lib/traceevent/event-parse.c +++ b/tools/lib/traceevent/event-parse.c | |||
@@ -2300,17 +2300,18 @@ process_dynamic_array(struct event_format *event, struct print_arg *arg, char ** | |||
2300 | arg = alloc_arg(); | 2300 | arg = alloc_arg(); |
2301 | type = process_arg(event, arg, &token); | 2301 | type = process_arg(event, arg, &token); |
2302 | if (type == EVENT_ERROR) | 2302 | if (type == EVENT_ERROR) |
2303 | goto out_free; | 2303 | goto out_free_arg; |
2304 | 2304 | ||
2305 | if (!test_type_token(type, token, EVENT_OP, "]")) | 2305 | if (!test_type_token(type, token, EVENT_OP, "]")) |
2306 | goto out_free; | 2306 | goto out_free_arg; |
2307 | 2307 | ||
2308 | free_token(token); | 2308 | free_token(token); |
2309 | type = read_token_item(tok); | 2309 | type = read_token_item(tok); |
2310 | return type; | 2310 | return type; |
2311 | 2311 | ||
2312 | out_free_arg: | ||
2313 | free_arg(arg); | ||
2312 | out_free: | 2314 | out_free: |
2313 | free(arg); | ||
2314 | free_token(token); | 2315 | free_token(token); |
2315 | *tok = NULL; | 2316 | *tok = NULL; |
2316 | return EVENT_ERROR; | 2317 | return EVENT_ERROR; |