diff options
author | Andi Kleen <ak@suse.de> | 2007-11-22 03:43:10 +0100 |
---|---|---|
committer | Sam Ravnborg <sam@ravnborg.org> | 2008-01-28 23:14:36 +0100 |
commit | 666ab414fe14e8bbbe86a110437346128e1ec869 (patch) | |
tree | 397dc03cba3aca4b0a1272fa927db89a7f3560e6 | |
parent | 58b7a68de37face98afe7c705391145795a982b5 (diff) | |
download | kernel-common-666ab414fe14e8bbbe86a110437346128e1ec869.tar.gz kernel-common-666ab414fe14e8bbbe86a110437346128e1ec869.tar.bz2 kernel-common-666ab414fe14e8bbbe86a110437346128e1ec869.zip |
kbuild: fix a buffer overflow in modpost
When passing an file name > 1k the stack could be overflowed.
Not really a security issue, but still better plugged.
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
-rw-r--r-- | scripts/mod/modpost.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c index 404ee0d0aac6..4d1c59063b27 100644 --- a/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c @@ -1656,7 +1656,6 @@ int main(int argc, char **argv) { struct module *mod; struct buffer buf = { }; - char fname[SZ]; char *kernel_read = NULL, *module_read = NULL; char *dump_write = NULL; int opt; @@ -1709,6 +1708,8 @@ int main(int argc, char **argv) err = 0; for (mod = modules; mod; mod = mod->next) { + char fname[strlen(mod->name) + 10]; + if (mod->skip) continue; |