]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
* grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Tue, 1 May 2012 13:06:34 +0000 (15:06 +0200)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Tue, 1 May 2012 13:06:34 +0000 (15:06 +0200)
ChangeLog
grub-core/normal/autofs.c

index ec61fa063333fd5163da3749993746c737f64ef6..9c06c24ba94c8bdd6d2ca3bca62e3ea4f4484a4c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2012-05-01  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
+
 2012-05-01  Vladimir Serbinenko  <phcoder@gmail.com>
 
        Handle RAIDZ on non-512B sectors.
index 8af2a95fd5e77fc084657267d02a756106b00db4..80f395bc0b8a430a1eb68303af3fdd8d2174f657 100644 (file)
@@ -104,13 +104,20 @@ read_fs_list (const char *prefix)
 
                  /* If the line is empty, skip it.  */
                  if (p >= q)
-                   continue;
+                   {
+                     grub_free (buf);
+                     continue;
+                   }
 
-                 fs_mod = grub_malloc (sizeof (*fs_mod));
+                 fs_mod = grub_malloc_notrack (sizeof (*fs_mod));
                  if (! fs_mod)
-                   continue;
+                   {
+                     grub_free (buf);
+                     continue;
+                   }
 
-                 fs_mod->name = grub_strdup (p);
+                 fs_mod->name = grub_strdup_notrack (p);
+                 grub_free (buf);
                  if (! fs_mod->name)
                    {
                      grub_free (fs_mod);