aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Cox2012-10-04 17:13:42 -0700
committerLinus Torvalds2012-10-06 03:05:00 +0900
commit6eec482f47a8e8888132b05575dea352187278cb (patch)
treef8e7cc4128d82433142553a2e67538c1a8edff22
parent03a7beb55b9fad363f0dd33e72ccf2d3e1c2a406 (diff)
binfmt_elf: Uninitialized variable
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> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--fs/binfmt_elf.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c
index 0225fddf49b7..7ef5f9fe2729 100644
--- a/fs/binfmt_elf.c
+++ b/fs/binfmt_elf.c
@@ -881,7 +881,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,