]> git.proxmox.com Git - grub2.git/commitdiff
devmapper/getroot: Fix memory leak.
authorVladimir Serbinenko <phcoder@gmail.com>
Mon, 26 Jan 2015 08:50:27 +0000 (09:50 +0100)
committerVladimir Serbinenko <phcoder@gmail.com>
Mon, 26 Jan 2015 08:50:27 +0000 (09:50 +0100)
Found by: Coverity scan.

grub-core/osdep/devmapper/getroot.c

index d02386b3498833ca0e0ee275dd444915ab0dcc53..0a77a04b995426ebfed3b2433f342513f18bc941 100644 (file)
@@ -160,7 +160,10 @@ grub_util_pull_devmapper (const char *os_dev)
   uuid = get_dm_uuid (os_dev);
 
   if (!grub_util_open_dm (os_dev, &tree, &node))
-    return;
+    {
+      grub_free (uuid);
+      return;
+    }
 
   while ((child = dm_tree_next_child (&handle, node, 0)))
     {
@@ -192,6 +195,7 @@ grub_util_pull_devmapper (const char *os_dev)
     }
   else
     dm_tree_free (tree);
+  grub_free (uuid);
 }
 
 char *
@@ -253,6 +257,7 @@ grub_util_get_devmapper_grub_dev (const char *os_dev)
       grub_free (uuid);
       return grub_dev;
     }
+  grub_free (uuid);
   return NULL;
 }
 
@@ -279,6 +284,7 @@ grub_util_get_vg_uuid (const char *os_dev)
     }
   optr--;
   *optr = '\0';
+  grub_free (uuid);
   return vgid;
 }