mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 15:14:43 +00:00
printenv: Correct out-of-memory condition check.
In common/cmd_nvedit.c, en env_print(), the wrong type is used for len. hexport_r() returns -1 on error (like OOM), which is converted to 0xffffffff when put in an unsigned. Said value is obviously bigger then 0, and as a result an uninitialized string is then displayed. Other usages of hexport_r() in the code correctly uses ssize_t to keep its return value. Signed-off-by: Maxime Larocque <maxmtl2002@yahoo.ca>
This commit is contained in:
parent
314dd4fecc
commit
22a4a6c5c2
1 changed files with 2 additions and 1 deletions
|
@ -96,7 +96,7 @@ int get_env_id(void)
|
|||
static int env_print(char *name, int flag)
|
||||
{
|
||||
char *res = NULL;
|
||||
size_t len;
|
||||
ssize_t len;
|
||||
|
||||
if (name) { /* print a single name */
|
||||
ENTRY e, *ep;
|
||||
|
@ -120,6 +120,7 @@ static int env_print(char *name, int flag)
|
|||
}
|
||||
|
||||
/* should never happen */
|
||||
printf("## Error: cannot export environment\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue