summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulius Werner <jwerner@chromium.org>2020-10-13 16:58:01 -0700
committerCommit Bot <commit-bot@chromium.org>2020-10-16 01:34:10 +0000
commit920a1202ad7afdda4f0110eb1c18f1a40ab36b9a (patch)
treee793ea094e84b99a0508ab7b1a4b80b38ca30bfc
parent662bb489d5061348d6eb61490185d0944d1ba817 (diff)
downloadvboot-920a1202ad7afdda4f0110eb1c18f1a40ab36b9a.tar.gz
lib: gpt_misc: Avoid leaving GPT entries data uninitialized
If we fail reading a GPT header, we memset() the respective buffer to 0 to avoid operating on uninitialized bytes. We should do the same for the GPT entries array. BRANCH=None BUG=chromium:1137521 TEST=make runtests Signed-off-by: Julius Werner <jwerner@chromium.org> Change-Id: I1019eaf5e9ab05cd9953a15874f4931766952d88 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/2469601 Reviewed-by: Joel Kitching <kitching@chromium.org>
-rw-r--r--firmware/lib/gpt_misc.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/firmware/lib/gpt_misc.c b/firmware/lib/gpt_misc.c
index e909e793..a0b0122c 100644
--- a/firmware/lib/gpt_misc.c
+++ b/firmware/lib/gpt_misc.c
@@ -66,6 +66,7 @@ int AllocAndReadGptData(VbExDiskHandle_t disk_handle, GptData *gptdata)
entries_sectors,
gptdata->primary_entries)) {
VB2_DEBUG("Read error in primary GPT entries\n");
+ memset(gptdata->primary_entries, 0, entries_bytes);
primary_valid = 0;
}
} else {
@@ -102,6 +103,7 @@ int AllocAndReadGptData(VbExDiskHandle_t disk_handle, GptData *gptdata)
entries_sectors,
gptdata->secondary_entries)) {
VB2_DEBUG("Read error in secondary GPT entries\n");
+ memset(gptdata->secondary_entries, 0, entries_bytes);
secondary_valid = 0;
}
} else {