If the err_out label is reached, address of a stack variable is passed to free(). Fix it. Signed-off-by: Pingfan Liu <piliu@xxxxxxxxxx> --- kexec/arch/i386/x86-linux-setup.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kexec/arch/i386/x86-linux-setup.c b/kexec/arch/i386/x86-linux-setup.c index 6c7d260..6cda12c 100644 --- a/kexec/arch/i386/x86-linux-setup.c +++ b/kexec/arch/i386/x86-linux-setup.c @@ -595,8 +595,8 @@ static int get_efi_runtime_map(struct efi_mem_descriptor **map) closedir(dirp); return nr_maps; err_out: - if (map) - free(map); + if (*map) + free(*map); closedir(dirp); return 0; } -- 2.7.4 _______________________________________________ kexec mailing list kexec@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/kexec