diff options
author | Alan Cox <alan@linux.intel.com> | 2012-10-04 17:13:42 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-06 03:05:00 +0900 |
commit | 6eec482f47a8e8888132b05575dea352187278cb (patch) | |
tree | f8e7cc4128d82433142553a2e67538c1a8edff22 /fs/binfmt_elf.c | |
parent | 03a7beb55b9fad363f0dd33e72ccf2d3e1c2a406 (diff) | |
download | lwn-6eec482f47a8e8888132b05575dea352187278cb.tar.gz lwn-6eec482f47a8e8888132b05575dea352187278cb.zip |
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/binfmt_elf.c')
-rw-r--r-- | fs/binfmt_elf.c | 2 |
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, |