summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorJani Nikula <jani.nikula@intel.com>2019-08-21 15:25:34 +0300
committerJani Nikula <jani.nikula@intel.com>2019-08-22 10:32:41 +0300
commit289dcb935ee195352f987c0ae7dd31693bf7de0f (patch)
tree19f8f18c26018839776d995685f16744167a2c6e /tools
parent357dbe1869d88a2f08bcee4eebceff4ee9014424 (diff)
tools/intel_reg: fix use-after-free bug in register spec read
e points into the buffer pointed to by p. Fixes: dfda0b6aecce ("intel_reg: introduce one intel_reg tool to rule them all") Reviewed-by: Simon Ser <simon.ser@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/intel_reg_spec.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/intel_reg_spec.c b/tools/intel_reg_spec.c
index 0df69b68..5ab56ec1 100644
--- a/tools/intel_reg_spec.c
+++ b/tools/intel_reg_spec.c
@@ -233,9 +233,9 @@ static int parse_line(struct reg *reg, const char *line)
reg->name = p;
} else if (i == 2) {
reg->addr = strtoul(p, &e, 16);
- free(p);
if (*e)
ret = -1;
+ free(p);
} else if (i == 3) {
ret = parse_port_desc(reg, p);
free(p);