summary refs log tree commit diff
path: root/fs
diff options
context:
space:
mode:
authorAlan Cox <alan@linux.intel.com>2012-10-04 17:13:42 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2012-10-06 03:05:00 +0900
commit6eec482f47a8e8888132b05575dea352187278cb (patch)
treef8e7cc4128d82433142553a2e67538c1a8edff22 /fs
parent03a7beb55b9fad363f0dd33e72ccf2d3e1c2a406 (diff)
downloadlinux-6eec482f47a8e8888132b05575dea352187278cb.tar.gz
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>
Diffstat (limited to 'fs')
-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,