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