env: throw an error when an empty key is used

If the environment contains an entry like "=value" "\0" we should throw
an error when parsing the environment. Otherwise, U-Boot will enter in
an infinite loop.

Signed-off-by: Lucian Cojocar <cojocar@gmail.com>
This commit is contained in:
Lucian Cojocar authored and Tom Rini committed 2013-05-09 17:03:05 -04:00
1 parent d642c467a0
commit e4fdcadd8a
1 file changed
+6
+6
View File
@@ -901,6 +901,12 @@ int himport_r(struct hsearch_data *htab,
*sp++ = '\0'; /* terminate value */
++dp;
if (*name == 0) {
debug("INSERT: unable to use an empty key\n");
__set_errno(EINVAL);
return 0;
}
/* Skip variables which are not supposed to be processed */
if (!drop_var_from_set(name, nvars, localvars))
continue;