[PATCH] cmd: env: fix unreachable statements
AKASHI Takahiro
takahiro.akashi at linaro.org
Fri May 8 07:51:45 CEST 2020
C's switch statement takes an integer value for switching.
As efi_status_t is defined as unsigned long and each error code has
the top bit set, all "cases" cannot be reachable.
Signed-off-by: AKASHI Takahiro <takahiro.akashi at linaro.org>
Reported-by: Coverity (CID 300335)
---
cmd/nvedit_efi.c | 20 ++++++--------------
1 file changed, 6 insertions(+), 14 deletions(-)
diff --git a/cmd/nvedit_efi.c b/cmd/nvedit_efi.c
index 837e39e02179..84cba0c7324b 100644
--- a/cmd/nvedit_efi.c
+++ b/cmd/nvedit_efi.c
@@ -597,26 +597,18 @@ int do_env_set_efi(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
} else {
const char *msg;
- switch (ret) {
- case EFI_NOT_FOUND:
+ if (ret == EFI_NOT_FOUND)
msg = " (not found)";
- break;
- case EFI_WRITE_PROTECTED:
+ else if (ret == EFI_WRITE_PROTECTED)
msg = " (read only)";
- break;
- case EFI_INVALID_PARAMETER:
+ else if (ret == EFI_INVALID_PARAMETER)
msg = " (invalid parameter)";
- break;
- case EFI_SECURITY_VIOLATION:
+ else if (ret == EFI_SECURITY_VIOLATION)
msg = " (validation failed)";
- break;
- case EFI_OUT_OF_RESOURCES:
+ else if (ret == EFI_OUT_OF_RESOURCES)
msg = " (out of memory)";
- break;
- default:
+ else
msg = "";
- break;
- }
printf("## Failed to set EFI variable%s\n", msg);
ret = CMD_RET_FAILURE;
}
--
2.25.2
More information about the U-Boot
mailing list