[U-Boot] [PATCH 08/12] env: Check for NULL pointer in envmatch()

Joe Hershberger joe.hershberger at ni.com
Fri Aug 17 22:49:42 CEST 2012


If the pointer passed into envmatch() is NULL, return -1 instead of
crashing.

Signed-off-by: Joe Hershberger <joe.hershberger at ni.com>
---
 common/cmd_nvedit.c | 3 +++
 tools/env/fw_env.c  | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/common/cmd_nvedit.c b/common/cmd_nvedit.c
index bd52fa4..76cdd87 100644
--- a/common/cmd_nvedit.c
+++ b/common/cmd_nvedit.c
@@ -619,6 +619,9 @@ U_BOOT_CMD(
  */
 int envmatch(uchar *s1, int i2)
 {
+	if (s1 == NULL)
+		return -1;
+
 	while (*s1 == env_get_char(i2++))
 		if (*s1++ == '=')
 			return i2;
diff --git a/tools/env/fw_env.c b/tools/env/fw_env.c
index 9ecc22a..23cf241 100644
--- a/tools/env/fw_env.c
+++ b/tools/env/fw_env.c
@@ -1072,6 +1072,8 @@ exit:
 
 static char *envmatch (char * s1, char * s2)
 {
+	if (s1 == NULL || s2 == NULL)
+		return NULL;
 
 	while (*s1 == *s2++)
 		if (*s1++ == '=')
-- 
1.7.11.5



More information about the U-Boot mailing list