diff options
author | Alistair Delva <adelva@google.com> | 2020-06-02 04:39:02 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-06-02 04:39:02 +0000 |
commit | b7c51353e0d914106241c70e2f758f107f6f8d64 (patch) | |
tree | bb087585c4f59eb7318d509de8209afb6d64b1cb | |
parent | ca9256d857cdcae985ef8c7e78a1cb89e5d2dd54 (diff) | |
parent | 7e46be3a55a0714daed7b44b5416999c2c4643d1 (diff) | |
download | gptfdisk-b7c51353e0d914106241c70e2f758f107f6f8d64.tar.gz |
ANDROID: Fix heap overflow in sgdisk am: 7e46be3a55
Original change: undetermined
Change-Id: I71cd4208bd4d233053255e0c893a1c31bcbc2153
-rw-r--r-- | gpt.cc | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -952,7 +952,10 @@ int GPTData::LoadPartitionTable(const struct GPTHeader & header, DiskIO & disk, uint32_t sizeOfParts, newCRC; int retval; - if (disk.OpenForRead()) { + if (header.sizeOfPartitionEntries != sizeof(GPTPart)) { + cerr << "Error! GPT header contains invalid partition entry size!\n"; + retval = 0; + } else if (disk.OpenForRead()) { if (sector == 0) { retval = disk.Seek(header.partitionEntriesLBA); } else { |