From 663f6eb195aa2dbceea4ca4fc6658e91c2df8e08 Mon Sep 17 00:00:00 2001 From: Vladimir 'phcoder' Serbinenko Date: Sat, 19 Oct 2013 02:39:06 +0200 Subject: [PATCH] * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak. (load_image): Likewise. --- ChangeLog | 5 +++++ util/grub-mkimagexx.c | 11 +++++++++++ 2 files changed, 16 insertions(+) diff --git a/ChangeLog b/ChangeLog index 2c0e7b9b1..5efa965e9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2013-10-19 Vladimir Serbinenko + + * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak. + (load_image): Likewise. + 2013-10-19 Vladimir Serbinenko * util/grub-render-label.c: Move backend part to ... diff --git a/util/grub-mkimagexx.c b/util/grub-mkimagexx.c index edccb7368..387461311 100644 --- a/util/grub-mkimagexx.c +++ b/util/grub-mkimagexx.c @@ -749,6 +749,14 @@ SUFFIX (make_reloc_section) (Elf_Ehdr *e, void **out, assert ((current_address + (grub_uint8_t *) *out) == ptr); } + for (lst = lst0; lst; ) + { + struct fixup_block_list *next; + next = lst->next; + free (lst); + lst = next; + } + return current_address; } @@ -1065,6 +1073,9 @@ SUFFIX (load_image) (const char *kernel_path, size_t *exec_size, } free (kernel_img); + free (section_vaddresses); + free (section_addresses); + return out_img; }