summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2007-11-22 03:43:10 +0100
committerSam Ravnborg <sam@ravnborg.org>2008-01-28 23:14:36 +0100
commit666ab414fe14e8bbbe86a110437346128e1ec869 (patch)
tree397dc03cba3aca4b0a1272fa927db89a7f3560e6
parent58b7a68de37face98afe7c705391145795a982b5 (diff)
downloadkernel-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.c3
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;