kbuild: fix a buffer overflow in modpost
Andi Kleen [Thu, 22 Nov 2007 02:43:10 +0000 (03:43 +0100)]
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>

scripts/mod/modpost.c

index 404ee0d..4d1c590 100644 (file)
@@ -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;