From: Andrei Borzenkov Date: Sat, 20 Jun 2015 20:38:19 +0000 (+0300) Subject: loader/bsd: free memory leaks X-Git-Tag: 2.02-beta3~260 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=867c9b7bec3446daa6a14a553c404ea26548242b;p=thirdparty%2Fgrub.git loader/bsd: free memory leaks Found by: Coverity scan. CID: 96671, 96658, 96653 --- diff --git a/grub-core/loader/i386/bsdXX.c b/grub-core/loader/i386/bsdXX.c index 53ae37c1e..051ff06b5 100644 --- a/grub-core/loader/i386/bsdXX.c +++ b/grub-core/loader/i386/bsdXX.c @@ -563,7 +563,10 @@ SUFFIX(grub_openbsd_find_ramdisk) (grub_file_t file, err = read_headers (file, filename, &e, &shdr); if (err) - return err; + { + grub_free (shdr); + return err; + } for (s = (Elf_Shdr *) shdr; s < (Elf_Shdr *) (shdr + e.e_shnum * e.e_shentsize); @@ -616,7 +619,11 @@ SUFFIX(grub_openbsd_find_ramdisk) (grub_file_t file, } if (grub_file_seek (file, stroff) == (grub_off_t) -1) - return grub_errno; + { + grub_free (syms); + grub_free (strs); + return grub_errno; + } if (grub_file_read (file, strs, strsize) != (grub_ssize_t) strsize) { grub_free (syms);