]> git.proxmox.com Git - grub2.git/commitdiff
* util/grub-mount.c (fuse_init): Avoid improper use of strings.
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Fri, 10 Feb 2012 13:12:43 +0000 (14:12 +0100)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Fri, 10 Feb 2012 13:12:43 +0000 (14:12 +0100)
* util/grub-fstest.c (fstest): Likewise.

ChangeLog
util/grub-fstest.c
util/grub-mount.c

index 852bf6aa71d7f39063f4fd4554322b6547c09fe6..79ac222feff9636fb271f05d64e8292048709fdb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       * util/grub-mount.c (fuse_init): Avoid improper use of strings.
+       * util/grub-fstest.c (fstest): Likewise.
+
 2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>
 
        * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
index 1544fc5cee550fa7464b2785945649e42726ca93..37f4fb7eea1a56b4d718e36b2ffca7b1c8999bbb 100644 (file)
@@ -342,12 +342,13 @@ fstest (int n)
     }
 
   {
-    char *argv[2] = { "-a", NULL};
     if (mount_crypt)
       {
+       char *argv[2] = { xstrdup ("-a"), NULL};
        if (execute_command ("cryptomount", 1, argv))
          grub_util_error (_("`cryptomount' command fails: %s"),
                           grub_errmsg);
+       free (argv[0]);
       }
   }
 
@@ -396,7 +397,7 @@ fstest (int n)
        grub_device_t dev;
        grub_fs_t fs;
        char *uuid = 0;
-       char *argv[3] = { "-l", NULL, NULL};
+       char *argv[3] = { xstrdup ("-l"), NULL, NULL};
        dev = grub_device_open (n ? args[0] : 0);
        if (!dev)
          grub_util_error ("%s", grub_errmsg);
@@ -411,6 +412,7 @@ fstest (int n)
          grub_util_error ("%s", _("couldn't retrieve UUID"));
        argv[1] = uuid;
        execute_command ("xnu_uuid", 2, argv);
+       grub_free (argv[0]);
        grub_free (uuid);
        grub_device_close (dev);
       }
@@ -424,12 +426,13 @@ fstest (int n)
       if (!loop_name)
        grub_util_error ("%s", grub_errmsg);
 
-      argv[0] = "-d";      
+      argv[0] = xstrdup ("-d");
       argv[1] = loop_name;
 
       execute_command ("loopback", 2, argv);
 
       grub_free (loop_name);
+      grub_free (argv[0]);
     }
 }
 
index a38348aa54fa8faaacb44fcecc7a84b09ef9bc66..41b89925b538efbbabbd375de3d8141e8c960bec 100644 (file)
@@ -356,9 +356,10 @@ fuse_init (void)
 
   if (mount_crypt)
     {
-      char *argv[2] = { "-a", NULL};
+      char *argv[2] = { xstrdup ("-a"), NULL};
       if (execute_command ("cryptomount", 1, argv))
        grub_util_error (_("cryptomount command fails: %s"), grub_errmsg);
+      free (argv[0]);
     }
 
   grub_lvm_fini ();
@@ -392,11 +393,12 @@ fuse_init (void)
       if (!loop_name)
        grub_util_error ("%s", grub_errmsg);
 
-      argv[0] = "-d";      
+      argv[0] = xstrdup ("-d");
       argv[1] = loop_name;
 
       execute_command ("loopback", 2, argv);
 
+      grub_free (argv[0]);
       grub_free (loop_name);
     }