diff options
| -rw-r--r-- | misc-utils/docfdisk.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/misc-utils/docfdisk.c b/misc-utils/docfdisk.c index 47e4ff9..7b936d5 100644 --- a/misc-utils/docfdisk.c +++ b/misc-utils/docfdisk.c @@ -260,6 +260,10 @@ int main(int argc, char **argv) } nblocks[i] = totblocks - block; } + if (nblocks[i] > totblocks || block > totblocks - nblocks[i]) { + printf("Requested partition size exceeds available device space.\n"); + return 1; + } ip->virtualUnits = cpu_to_le32(nblocks[i]); block += nblocks[i]; ip->lastUnit = cpu_to_le32(block-1); |
