efi_loader: fix GetNextVariableName
Our current implementation of GetNextVariableName() first collects all EFI variables. If none is found at all hexport_r() returns a zero length string terminated by \0 and the value 1 as number of bytes in the returned buffer. In this case GetNextVariableName() has to return EFI_NOT_FOUND. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
parent
6c75db07f4
commit
eefb790e90
@ -383,7 +383,8 @@ efi_status_t EFIAPI efi_get_next_variable_name(efi_uintn_t *variable_name_size,
|
||||
list_len = hexport_r(&env_htab, '\n',
|
||||
H_MATCH_REGEX | H_MATCH_KEY,
|
||||
&efi_variables_list, 0, 1, regexlist);
|
||||
if (list_len <= 0)
|
||||
/* 1 indicates that no match was found */
|
||||
if (list_len <= 1)
|
||||
return EFI_EXIT(EFI_NOT_FOUND);
|
||||
|
||||
variable = efi_variables_list;
|
||||
|
Loading…
Reference in New Issue
Block a user