From 867c9b7bec3446daa6a14a553c404ea26548242b Mon Sep 17 00:00:00 2001 From: Andrei Borzenkov Date: Sat, 20 Jun 2015 23:38:19 +0300 Subject: [PATCH] loader/bsd: free memory leaks Found by: Coverity scan. CID: 96671, 96658, 96653 --- grub-core/loader/i386/bsdXX.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) 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);