Bug fix relating to loading of >128-entry partition tables
diff --git a/gpt.cc b/gpt.cc
index 5ce5b7f..e213205 100644
--- a/gpt.cc
+++ b/gpt.cc
@@ -757,18 +757,24 @@
 // failure.
 int GPTData::LoadHeader(struct GPTHeader *header, DiskIO & disk, uint64_t sector, int *crcOk) {
    int allOK = 1;
+   GPTHeader tempHeader;
 
    disk.Seek(sector);
-   if (disk.Read(header, 512) != 512) {
+   if (disk.Read(&tempHeader, 512) != 512) {
       cerr << "Warning! Read error " << errno << "; strange behavior now likely!\n";
       allOK = 0;
    } // if
-   *crcOk = CheckHeaderCRC(header);
+   *crcOk = CheckHeaderCRC(&tempHeader);
 
-      // Reverse byte order, if necessary
+   // Reverse byte order, if necessary
    if (IsLittleEndian() == 0) {
       ReverseHeaderBytes(header);
    } // if
+
+   if (allOK && mainHeader.numParts != tempHeader.numParts)
+      allOK = SetGPTSize(tempHeader.numParts);
+
+   *header = tempHeader;
    return allOK;
 } // GPTData::LoadHeader