aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorHeinrich Schuchardt <xypron.glpk@gmx.de>2019-09-26 21:35:20 +0200
committerHeinrich Schuchardt <xypron.glpk@gmx.de>2019-10-06 16:02:37 +0200
commitc9dd62f9c243f48b0facc5ce252041ccb7a06362 (patch)
treed2a4df9310b2c1303a47e13ee4abb46e701245b5 /lib
parent709292a63afc60bc840493315acf18c6c5e27eb4 (diff)
downloadu-boot-c9dd62f9c243f48b0facc5ce252041ccb7a06362.zip
u-boot-c9dd62f9c243f48b0facc5ce252041ccb7a06362.tar.gz
u-boot-c9dd62f9c243f48b0facc5ce252041ccb7a06362.tar.bz2
efi_selftest: correct SetVariable() test
Errors should not only be announced as text but should also result in EFI_ST_FAILURE being returned. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Diffstat (limited to 'lib')
-rw-r--r--lib/efi_selftest/efi_selftest_variables.c30
1 files changed, 16 insertions, 14 deletions
diff --git a/lib/efi_selftest/efi_selftest_variables.c b/lib/efi_selftest/efi_selftest_variables.c
index a6b41d1..02c9d30 100644
--- a/lib/efi_selftest/efi_selftest_variables.c
+++ b/lib/efi_selftest/efi_selftest_variables.c
@@ -120,27 +120,29 @@ static int execute(void)
7, v + 8);
if (ret != EFI_SUCCESS) {
efi_st_error("SetVariable(APPEND_WRITE) failed\n");
- } else {
- len = EFI_ST_MAX_DATA_SIZE;
- ret = runtime->get_variable(L"efi_st_var1", &guid_vendor1,
- &attr, &len, data);
- if (ret != EFI_SUCCESS) {
- efi_st_error("GetVariable failed\n");
- return EFI_ST_FAILURE;
- }
- if (len != 15)
- efi_st_todo("GetVariable returned wrong length %u\n",
- (unsigned int)len);
- if (memcmp(data, v, len))
- efi_st_todo("GetVariable returned wrong value\n");
+ return EFI_ST_FAILURE;
+ }
+ len = EFI_ST_MAX_DATA_SIZE;
+ ret = runtime->get_variable(L"efi_st_var1", &guid_vendor1,
+ &attr, &len, data);
+ if (ret != EFI_SUCCESS) {
+ efi_st_error("GetVariable failed\n");
+ return EFI_ST_FAILURE;
}
+ if (len != 15)
+ efi_st_todo("GetVariable returned wrong length %u\n",
+ (unsigned int)len);
+ if (memcmp(data, v, len))
+ efi_st_todo("GetVariable returned wrong value\n");
/* Append variable 2 */
ret = runtime->set_variable(L"efi_none", &guid_vendor1,
EFI_VARIABLE_BOOTSERVICE_ACCESS |
EFI_VARIABLE_APPEND_WRITE,
15, v);
- if (ret != EFI_NOT_FOUND)
+ if (ret != EFI_NOT_FOUND) {
efi_st_error("SetVariable(APPEND_WRITE) with size 0 to non-existent variable returns wrong code\n");
+ return EFI_ST_FAILURE;
+ }
/* Append variable 3 */
ret = runtime->set_variable(L"PlatformLangCodes", &guid_global,
EFI_VARIABLE_BOOTSERVICE_ACCESS |