Ver código fonte

env: Check for NULL pointer in envmatch()

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

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Joe Hershberger 12 anos atrás
pai
commit
586197dfe4
2 arquivos alterados com 5 adições e 0 exclusões
  1. 3 0
      common/cmd_nvedit.c
  2. 2 0
      tools/env/fw_env.c

+ 3 - 0
common/cmd_nvedit.c

@@ -650,6 +650,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;

+ 2 - 0
tools/env/fw_env.c

@@ -1057,6 +1057,8 @@ exit:
 
 static char *envmatch (char * s1, char * s2)
 {
+	if (s1 == NULL || s2 == NULL)
+		return NULL;
 
 	while (*s1 == *s2++)
 		if (*s1++ == '=')