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>
diff --git a/common/cmd_nvedit.c b/common/cmd_nvedit.c
index d655ab9..1f9c674 100644
--- a/common/cmd_nvedit.c
+++ b/common/cmd_nvedit.c
@@ -650,6 +650,9 @@
*/
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 2c607bf..520ce3f 100644
--- a/tools/env/fw_env.c
+++ b/tools/env/fw_env.c
@@ -1057,6 +1057,8 @@
static char *envmatch (char * s1, char * s2)
{
+ if (s1 == NULL || s2 == NULL)
+ return NULL;
while (*s1 == *s2++)
if (*s1++ == '=')