]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
binfmt_elf: Uninitialized variable
authorAlan Cox <alan@linux.intel.com>
Fri, 28 Sep 2012 00:20:30 +0000 (10:20 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Wed, 3 Oct 2012 06:50:48 +0000 (16:50 +1000)
load_elf_interp() has interp_map_addr carefully described as
"uninitialized_var" and marked so as to avoid a warning.  However if you
trace the code it is passed into load_elf_interp and then this value is
checked against NULL.

As this return value isn't used this is actually safe but it freaks
various analysis tools that see un-initialized memory addresses being read
before their value is ever defined.

Set it to NULL as a matter of programming good taste if nothing else

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
fs/binfmt_elf.c

index 1b4efbc461d23a16d15ea26052925bdfb0353d9e..a6cb3baf9cdeeadac7d84697c74381b60cebf6c9 100644 (file)
@@ -880,7 +880,7 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs)
        }
 
        if (elf_interpreter) {
-               unsigned long uninitialized_var(interp_map_addr);
+               unsigned long interp_map_addr = 0;
 
                elf_entry = load_elf_interp(&loc->interp_elf_ex,
                                            interpreter,