From 8d5d97cb28bf2ac1e0d7e4b24620c56f3fe45e6f Mon Sep 17 00:00:00 2001 From: Rasmus Villemoes Date: Wed, 7 Oct 2020 09:36:03 +0200 Subject: [PATCH] cli_hush.c: remove broken sanity check This code is intended do prevent one from setting a shell variable abc by doing abc=123 if an environment variable named abc already exists. However, the check is broken, since the env_get is done before the split on =, so we look up whether an environment variable "abc=123" exists, which is obviously never the case. One could move the code to below the split on =, but instead, just remove it, saving a little .text: The check has never worked as intended (it goes all the way back to the initial git commit), and it would anyway not guard against one first setting the shell variable, then doing 'env set abc xyz'. Signed-off-by: Rasmus Villemoes --- common/cli_hush.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/common/cli_hush.c b/common/cli_hush.c index 5b1f119..66995c2 100644 --- a/common/cli_hush.c +++ b/common/cli_hush.c @@ -2170,14 +2170,6 @@ int set_local_var(const char *s, int flg_export) name=strdup(s); -#ifdef __U_BOOT__ - if (env_get(name) != NULL) { - printf ("ERROR: " - "There is a global environment variable with the same name.\n"); - free(name); - return -1; - } -#endif /* Assume when we enter this function that we are already in * NAME=VALUE format. So the first order of business is to * split 's' on the '=' into 'name' and 'value' */ -- 2.7.4