diff options
| author | 2012-11-06 12:26:23 -0800 | |
|---|---|---|
| committer | 2012-11-06 12:26:23 -0800 | |
| commit | 5b805f2a7675634fbdf9ac1c9b2256905ab2ea68 (patch) | |
| tree | ee00d1e3d757458d66209b926d274491c6c3f61c /tools/lib/traceevent/parse-filter.c | |
| parent | Merge branch 'cgroup-rmdir-updates' into cgroup/for-3.8 (diff) | |
| parent | device_cgroup: fix RCU usage (diff) | |
Merge branch 'cgroup/for-3.7-fixes' into cgroup/for-3.8
This is to receive device_cgroup fixes so that further device_cgroup
changes can be made in cgroup/for-3.8.
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'tools/lib/traceevent/parse-filter.c')
| -rw-r--r-- | tools/lib/traceevent/parse-filter.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/tools/lib/traceevent/parse-filter.c b/tools/lib/traceevent/parse-filter.c index ad17855528f9..5ea4326ad11f 100644 --- a/tools/lib/traceevent/parse-filter.c +++ b/tools/lib/traceevent/parse-filter.c @@ -209,7 +209,16 @@ static void free_arg(struct filter_arg *arg) switch (arg->type) { case FILTER_ARG_NONE: case FILTER_ARG_BOOLEAN: + break; + case FILTER_ARG_NUM: + free_arg(arg->num.left); + free_arg(arg->num.right); + break; + + case FILTER_ARG_EXP: + free_arg(arg->exp.left); + free_arg(arg->exp.right); break; case FILTER_ARG_STR: @@ -218,6 +227,12 @@ static void free_arg(struct filter_arg *arg) free(arg->str.buffer); break; + case FILTER_ARG_VALUE: + if (arg->value.type == FILTER_STRING || + arg->value.type == FILTER_CHAR) + free(arg->value.str); + break; + case FILTER_ARG_OP: free_arg(arg->op.left); free_arg(arg->op.right); |
