diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c index a3a9429ef1d2..13f25e241ac4 100644 --- a/fs/binfmt_elf.c +++ b/fs/binfmt_elf.c @@ -1076,6 +1076,7 @@ static int load_elf_binary(struct linux_binprm *bprm) fput(interpreter); kfree(interp_elf_ex); + kfree(interp_elf_phdata); } else { elf_entry = e_entry; if (BAD_ADDR(elf_entry)) { @@ -1084,7 +1085,6 @@ static int load_elf_binary(struct linux_binprm *bprm) } } - kfree(interp_elf_phdata); kfree(elf_phdata); set_binfmt(&elf_format);