The runtime service GetNextVariable() returns the length of the next variable including the closing 0x0000. This length should be in bytes.
Comparing the output of EDK2 and U-Boot shows that this is currently not correctly implemented: EDK2: OsIndicationsSupported: 46 PlatformLang: 26 PlatformLangCodes: 36 U-Boot: OsIndicationsSupported: 23 PlatformLang: 13 PlatformLangCodes: 18 Provide correct length in GetNextVariable(). Provide a unit test. Heinrich Schuchardt (2): efi_loader: correct reported length in GetNextVariable() efi_selftest: check length report by GetNextVariableName() lib/efi_loader/efi_variable.c | 2 +- lib/efi_selftest/efi_selftest_variables.c | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) -- 2.25.1