]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
2008-07-14 Pavel Roskin <proski@gnu.org>
authorproski <proski@localhost>
Mon, 14 Jul 2008 05:03:19 +0000 (05:03 +0000)
committerproski <proski@localhost>
Mon, 14 Jul 2008 05:03:19 +0000 (05:03 +0000)
* kern/env.c (grub_register_variable_hook): Don't copy empty
string, it leaks memory.  Pass "" to grub_env_set(), it should
handle constant strings.

ChangeLog
kern/env.c

index fa8291b40d7d43096ff0ba63d2978097bfcb2959..111179a7878c710fc4ee7ad4aeee2b4810ee96af 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2008-07-14  Pavel Roskin  <proski@gnu.org>
 
+       * kern/env.c (grub_register_variable_hook): Don't copy empty
+       string, it leaks memory.  Pass "" to grub_env_set(), it should
+       handle constant strings.
+
        * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
        * commands/cmp.c (grub_cmd_cmp): Likewise.
        * kern/dl.c (grub_dl_flush_cache): Likewise.
index a13989837296b0155197b1f89c36ec05948ba27d..c47864824bfb0cbded4d843cc50f18d9d0facf27 100644 (file)
@@ -331,12 +331,7 @@ grub_register_variable_hook (const char *name,
 
   if (! var)
     {
-      char *val = grub_strdup ("");
-
-      if (! val)
-       return grub_errno;
-      
-      if (grub_env_set (name, val) != GRUB_ERR_NONE)
+      if (grub_env_set (name, "") != GRUB_ERR_NONE)
        return grub_errno;
       
       var = grub_env_find (name);