summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/radeon/mkregtable.c
diff options
context:
space:
mode:
authorAlan <gnomes@lxorguk.ukuu.org.uk>2013-12-17 19:05:39 +0400
committerJiri Kosina <jkosina@suse.cz>2014-01-10 18:28:10 +0400
commit6b6419005ef1590f4f532899222424b4539b0511 (patch)
tree29715365969c7106f719cbe6931e024e58bc5691 /drivers/gpu/drm/radeon/mkregtable.c
parentbfb18d824c6a6cc401b73b1da9105aed81eb6434 (diff)
downloadlinux-6b6419005ef1590f4f532899222424b4539b0511.tar.xz
mkregtable: Fix sscanf handling
If you feed the tool a suitable bogus register map you can break it in arbitary (code executing) ways. While this isn't a particularly exciting or probable attack vector we still ought to fix it. One of a set of sscanf issues reported by Jackie Chang Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/gpu/drm/radeon/mkregtable.c')
-rw-r--r--drivers/gpu/drm/radeon/mkregtable.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/mkregtable.c b/drivers/gpu/drm/radeon/mkregtable.c
index af85299f2126..4a85bb644e24 100644
--- a/drivers/gpu/drm/radeon/mkregtable.c
+++ b/drivers/gpu/drm/radeon/mkregtable.c
@@ -655,7 +655,7 @@ static int parser_auth(struct table *t, const char *filename)
/* first line will contain the last register
* and gpu name */
- sscanf(buf, "%s %s", gpu_name, last_reg_s);
+ sscanf(buf, "%9s %9s", gpu_name, last_reg_s);
t->gpu_prefix = gpu_name;
last_reg = strtol(last_reg_s, NULL, 16);