Commit e1e9b78d authored by Ian Rogers's avatar Ian Rogers Committed by Arnaldo Carvalho de Melo

perf parse: Use YYABORT to clear stack after failure, plugging leaks

Using return rather than YYABORT means that the stack isn't cleared up
following a failure. The change to YYABORT means the return value is 1
rather than -1, but the callers just check for a result of 0 (success).
Add missing free of a list when an error occurs in event_pmu.
Signed-off-by: default avatarIan Rogers <irogers@google.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lore.kernel.org/lkml/20191109075840.181231-1-irogers@google.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent ccd26741
...@@ -284,6 +284,7 @@ PE_NAME opt_pmu_config ...@@ -284,6 +284,7 @@ PE_NAME opt_pmu_config
do { \ do { \
parse_events_terms__delete($2); \ parse_events_terms__delete($2); \
parse_events_terms__delete(orig_terms); \ parse_events_terms__delete(orig_terms); \
free(list); \
free($1); \ free($1); \
free(pattern); \ free(pattern); \
YYABORT; \ YYABORT; \
...@@ -550,7 +551,7 @@ tracepoint_name opt_event_config ...@@ -550,7 +551,7 @@ tracepoint_name opt_event_config
free($1.event); free($1.event);
if (err) { if (err) {
free(list); free(list);
return -1; YYABORT;
} }
$$ = list; $$ = list;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment