Browse Source

tools/proftool: fix use-after-free

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>
tags/2020-06-01
Vincent Stehlé 5 years ago
committed by Tom Rini
parent
commit
1ca8f8818b
1 changed files with 3 additions and 2 deletions
  1. +3
    -2
      tools/proftool.c

+ 3
- 2
tools/proftool.c View File

@@ -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 */