diff options
author | Julius Werner <jwerner@chromium.org> | 2020-10-13 16:58:01 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-10-16 01:34:10 +0000 |
commit | 920a1202ad7afdda4f0110eb1c18f1a40ab36b9a (patch) | |
tree | e793ea094e84b99a0508ab7b1a4b80b38ca30bfc | |
parent | 662bb489d5061348d6eb61490185d0944d1ba817 (diff) | |
download | vboot-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.c | 2 |
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 { |