Skip to content

Commit

Permalink
binfmt_elf: Uninitialized variable
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
Alan Cox authored and torvalds committed Oct 5, 2012
1 parent 03a7beb commit 6eec482
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion fs/binfmt_elf.c
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down

0 comments on commit 6eec482

Please sign in to comment.