summaryrefslogtreecommitdiff
path: root/gpt.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gpt.cc')
-rw-r--r--gpt.cc10
1 files changed, 9 insertions, 1 deletions
diff --git a/gpt.cc b/gpt.cc
index 5ccc5c5..848340b 100644
--- a/gpt.cc
+++ b/gpt.cc
@@ -886,8 +886,16 @@ int GPTData::LoadPartitions(const string & deviceFilename) {
break;
} // switch
- if (allOK)
+ if (allOK) {
CheckGPTSize();
+ // Below is unlikely to happen on real disks, but could happen if
+ // the user is manipulating a truncated image file....
+ if (diskSize <= GetTableSizeInSectors() * 2 + 3) {
+ allOK = 0;
+ cout << "Disk is too small to hold GPT data (" << diskSize
+ << " sectors)! Aborting!\n";
+ }
+ }
myDisk.Close();
ComputeAlignment();
} else {