grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v3] grub-core/kern/corecmd: Quote variable values when displayed


From: Glenn Washburn
Subject: [PATCH v3] grub-core/kern/corecmd: Quote variable values when displayed by the set command
Date: Thu, 25 Aug 2022 19:53:51 -0500

Variable values may contain spaces at the end or newlines. However, when
displayed without quotes this is not obvious and can lead to confusion as
to the actual contents of variables. Also for some variables grub_env_get()
returns a NULL pointer instead of a pointer to an empty string and
previously would be printed as "var=(null)". Now such variables will be
displayed as "var=''".

Signed-off-by: Glenn Washburn <development@efficientek.com>
---
v2->v3: cast away constness when assigning var to fix compiler error
---
 grub-core/kern/corecmd.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/grub-core/kern/corecmd.c b/grub-core/kern/corecmd.c
index fc54f43f2b..62d434ba9a 100644
--- a/grub-core/kern/corecmd.c
+++ b/grub-core/kern/corecmd.c
@@ -40,7 +40,10 @@ grub_core_cmd_set (struct grub_command *cmd __attribute__ 
((unused)),
     {
       struct grub_env_var *env;
       FOR_SORTED_ENV (env)
-       grub_printf ("%s=%s\n", env->name, grub_env_get (env->name));
+       {
+         val = (char *) grub_env_get (env->name);
+         grub_printf ("%s='%s'\n", env->name, val == NULL ? "" : val);
+       }
       return 0;
     }
 
-- 
2.34.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]