]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Sat, 6 Mar 2010 16:27:28 +0000 (17:27 +0100)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Sat, 6 Mar 2010 16:27:28 +0000 (17:27 +0100)
* loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.

ChangeLog
loader/i386/bsd.c

index a7717dfaeaae1f34fc4294a19f0b9389bf5e7c16..f444fe349fd0e7460c0a2ecc67277c92f4c8f5d3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2010-03-06  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
+
 2010-03-06  Vladimir Serbinenko  <phcoder@gmail.com>
 
        * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
index 3dd3c70c5db52fe77a0e169ddb46269c0c05142e..949de408d9146716c0c3c642e232927e76dbca4f 100644 (file)
@@ -154,8 +154,8 @@ grub_bsd_get_device (grub_uint32_t * biosdev,
   dev = grub_device_open (0);
   if (dev && dev->disk && dev->disk->partition)
     {
-
-      p = dev->disk->partition->partmap->get_name (dev->disk->partition);
+      char *p0;
+      p0 = p = dev->disk->partition->partmap->get_name (dev->disk->partition);
       if (p)
        {
          if ((p[0] >= '0') && (p[0] <= '9'))
@@ -169,6 +169,7 @@ grub_bsd_get_device (grub_uint32_t * biosdev,
          if ((p[0] >= 'a') && (p[0] <= 'z'))
            *part = p[0] - 'a';
        }
+      grub_free (p0);
     }
   if (dev)
     grub_device_close (dev);