|
@@ -570,11 +570,13 @@ predicate_parse(const char *str, int nr_parens, int nr_preds,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ kfree(op_stack);
|
|
|
+ kfree(inverts);
|
|
|
return prog;
|
|
|
out_free:
|
|
|
kfree(op_stack);
|
|
|
- kfree(prog_stack);
|
|
|
kfree(inverts);
|
|
|
+ kfree(prog_stack);
|
|
|
return ERR_PTR(ret);
|
|
|
}
|
|
|
|
|
@@ -1718,6 +1720,7 @@ static int create_filter(struct trace_event_call *call,
|
|
|
err = process_preds(call, filter_string, *filterp, pe);
|
|
|
if (err && set_str)
|
|
|
append_filter_err(pe, *filterp);
|
|
|
+ create_filter_finish(pe);
|
|
|
|
|
|
return err;
|
|
|
}
|