diff options
author | Joe Hershberger <joe.hershberger@ni.com> | 2012-10-03 09:38:50 +0000 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2012-10-15 11:54:05 -0700 |
commit | 586197dfe42ffda777205b02fe404107eb7d974a (patch) | |
tree | f7f06afcf49dac5dec0f5d33e4be48d3ab8e768a | |
parent | e4a223f04de2e271682f26d7b981c0012f6a459f (diff) | |
download | u-boot-imx-586197dfe42ffda777205b02fe404107eb7d974a.zip u-boot-imx-586197dfe42ffda777205b02fe404107eb7d974a.tar.gz u-boot-imx-586197dfe42ffda777205b02fe404107eb7d974a.tar.bz2 |
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>
-rw-r--r-- | common/cmd_nvedit.c | 3 | ||||
-rw-r--r-- | tools/env/fw_env.c | 2 |
2 files changed, 5 insertions, 0 deletions
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 @@ 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 2c607bf..520ce3f 100644 --- a/tools/env/fw_env.c +++ b/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++ == '=') |