
The read_trace_config() can dereference the line pointer after freeing it on its error path. Avoid that.
This was found by Coverity Scan.
Signed-off-by: Vincent Stehlé vincent.stehle@freescale.com Cc: Simon Glass sjg@chromium.org --- tools/proftool.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/tools/proftool.c b/tools/proftool.c index 9ce7a77..ddf870f 100644 --- a/tools/proftool.c +++ b/tools/proftool.c @@ -432,9 +432,10 @@ static int read_trace_config(FILE *fin)
err = regcomp(&line->regex, tok, REG_NOSUB); if (err) { + int r = regex_report_error(&line->regex, err, + "compile", tok); free(line); - return regex_report_error(&line->regex, err, "compile", - tok); + return r; }
/* link this new one to the end of the list */