summaryrefslogtreecommitdiff
path: root/tools/intel_reg_spec.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2018-02-02 10:07:05 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2018-02-02 14:38:05 +0000
commitc219cc5307474cb53612ca759354f9473955e110 (patch)
treea796653df3dc11f82181a7cce6e538ae67970bfa /tools/intel_reg_spec.c
parenta20a69e25a18ec63236633b804d89cc0c0cea259 (diff)
tools: Clear unused fields in register spec
If we fail to clear the other fields inside the register spec, they may be left with garbage instructing us to access the register via an invalid path. v2: Grab Mika's fix for get_regs() and check all parse_port_desc() callers. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104895 Fixes: 7f0be0e7d9be ("tools/intel_reg: Add reading and writing registers through engine") Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Jani Nikula <jani.nikula@intel.com> CC: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com> Reviewed-by: Jani Nikula <jani.nikula@intel.com> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Diffstat (limited to 'tools/intel_reg_spec.c')
-rw-r--r--tools/intel_reg_spec.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/tools/intel_reg_spec.c b/tools/intel_reg_spec.c
index 5594d707..0df69b68 100644
--- a/tools/intel_reg_spec.c
+++ b/tools/intel_reg_spec.c
@@ -219,8 +219,6 @@ static int parse_line(struct reg *reg, const char *line)
initialized = true;
}
- memset(reg, 0, sizeof(*reg));
-
ret = regexec(&regex, line, ARRAY_SIZE(match), match, 0);
if (ret)
ret = -1;
@@ -267,7 +265,7 @@ static ssize_t parse_file(struct reg **regs, size_t *nregs,
}
while (getline(&line, &linesize, file) != -1) {
- struct reg reg;
+ struct reg reg = {};
lineno++;