|
@@ -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);
|