]> git.proxmox.com Git - grub2.git/commitdiff
loader/bsd: free memory leaks
authorAndrei Borzenkov <arvidjaar@gmail.com>
Sat, 20 Jun 2015 20:38:19 +0000 (23:38 +0300)
committerAndrei Borzenkov <arvidjaar@gmail.com>
Sat, 20 Jun 2015 20:38:19 +0000 (23:38 +0300)
Found by: Coverity scan.
CID: 96671, 96658, 96653

grub-core/loader/i386/bsdXX.c

index 53ae37c1e386111293fc86c42c0c66fb4e7f954a..051ff06b564bec1e1ab3236810a090cedfa144a1 100644 (file)
@@ -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);