summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward O'Callaghan <quasisec@google.com>2023-03-14 18:00:00 +1100
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2023-05-15 06:42:08 +0000
commit66733b079842ab23bebe77001050d4c827124400 (patch)
tree75ef880914ca00729bd373bc718dd0fd559e4e22
parent66f994927069aef338b4eaee81758620a4537aa2 (diff)
downloadvboot-66733b079842ab23bebe77001050d4c827124400.tar.gz
futility/file_type_bios.c: Improve branch readability
BUG=b:268397597 BRANCH=none TEST=`emerge-nissa vboot_reference`. TEST=`$ cros_run_unit_tests --host --packages="vboot_reference flashrom"`. TEST=`$ cros_run_unit_tests --board=nissa --packages="vboot_reference flashrom"`. Change-Id: I3eb8810a7c5efd7042f422bb772567daf87e803c Signed-off-by: Edward O'Callaghan <quasisec@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/4531325 Reviewed-by: Sam McNally <sammc@chromium.org> Commit-Queue: Edward O'Callaghan <quasisec@chromium.org> Auto-Submit: Edward O'Callaghan <quasisec@chromium.org> Tested-by: Edward O'Callaghan <quasisec@chromium.org>
-rw-r--r--futility/file_type_bios.c22
1 files changed, 10 insertions, 12 deletions
diff --git a/futility/file_type_bios.c b/futility/file_type_bios.c
index 9552ead5..379d0043 100644
--- a/futility/file_type_bios.c
+++ b/futility/file_type_bios.c
@@ -562,18 +562,16 @@ enum futil_file_type ft_recognize_bios_image(uint8_t *buf, uint32_t len)
if (!fmap)
return FILE_TYPE_UNKNOWN;
- /* Correct BIOS image should contain at least GBB, FW_MAIN_A and
- VBLOCK_A areas. FW_MAIN_B and VBLOCK_B are optional, but will be
- signed or shown if present. */
- const int gbb_and_a_slot_ok =
- fmap_find_by_name(buf, len, fmap, fmap_name[BIOS_FMAP_GBB],
- 0) != NULL &&
- fmap_find_by_name(buf, len, fmap,
- fmap_name[BIOS_FMAP_FW_MAIN_A], 0) != NULL &&
- fmap_find_by_name(buf, len, fmap, fmap_name[BIOS_FMAP_VBLOCK_A],
- 0) != NULL;
-
- if (gbb_and_a_slot_ok)
+ /**
+ * Correct BIOS image should contain at least:
+ * GBB, FW_MAIN_A and VBLOCK_A areas.
+ * The FW_MAIN_B and VBLOCK_B are optional, however will be signed or shown if present.
+ */
+ const int gbb_slot = !!fmap_find_by_name(buf, len, fmap, fmap_name[BIOS_FMAP_GBB], 0);
+ const int fw_slot_a = !!fmap_find_by_name(buf, len, fmap, fmap_name[BIOS_FMAP_FW_MAIN_A], 0);
+ const int vblock_slot_a = !!fmap_find_by_name(buf, len, fmap, fmap_name[BIOS_FMAP_VBLOCK_A], 0);
+
+ if (gbb_slot && fw_slot_a && vblock_slot_a)
return FILE_TYPE_BIOS_IMAGE;
return FILE_TYPE_UNKNOWN;