Merge Android R

Bug: 168057903
Merged-In: I54d04ed92be7cdaa42c5be776f666d772e1a5214
Change-Id: I85acfc7d20057e896793e180f3a3b9fc779e50a6
diff --git a/gpt.cc b/gpt.cc
index 1546313..2d2e72c 100644
--- a/gpt.cc
+++ b/gpt.cc
@@ -1060,7 +1060,10 @@
    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 {