[U-Boot] [PATCH] env: fix crash using default -f -a

Gerlando Falauto gerlando.falauto at keymile.com
Fri Oct 5 12:46:10 CEST 2012


env default -a -f calls env_check_apply on all existing environment
variables with a NULL value for "newval" as a way of cleaning up.
This causes string manipulation functions to crash on most architectures.
So replace a NULL argument with an empty string.

Reported-By: Stefano Babic <sbabic at denx.de>
Signed-off-by: Gerlando Falauto <gerlando.falauto at keymile.com>
---
 common/cmd_nvedit.c |    3 +++
 1 file changed, 3 insertions(+)

diff --git a/common/cmd_nvedit.c b/common/cmd_nvedit.c
index 3474bc6..c38b475 100644
--- a/common/cmd_nvedit.c
+++ b/common/cmd_nvedit.c
@@ -213,6 +213,9 @@ int env_check_apply(const char *name, const char *oldval,
 {
 	int   console = -1;
 
+	/* Default value for NULL to protect string-manipulating functions */
+	newval = newval ? : "";
+
 	/* Check for console redirection */
 	if (strcmp(name, "stdin") == 0)
 		console = stdin;
-- 
1.7.10.1



More information about the U-Boot mailing list