]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
multiboot: fix memory leak
authorAndrei Borzenkov <arvidjaar@gmail.com>
Sat, 20 Jun 2015 20:38:18 +0000 (23:38 +0300)
committerAndrei Borzenkov <arvidjaar@gmail.com>
Sat, 20 Jun 2015 20:38:18 +0000 (23:38 +0300)
Found by: Coverity scan.
CID: 96684

grub-core/loader/multiboot_elfxx.c

index 9dc21a1ba486dffc15218ec1f475fa96d0b8a658..6a220bdc17bb38b20241a16bf0fbda0791ab7d7e 100644 (file)
@@ -169,7 +169,10 @@ CONCAT(grub_multiboot_load_elf, XX) (grub_file_t file, const char *filename, voi
        return grub_errno;
       
       if (grub_file_seek (file, ehdr->e_shoff) == (grub_off_t) -1)
-       return grub_errno;
+       {
+         grub_free (shdr);
+         return grub_errno;
+       }
 
       if (grub_file_read (file, shdr, ehdr->e_shnum * ehdr->e_shentsize)
               != (grub_ssize_t) ehdr->e_shnum * ehdr->e_shentsize)