diff options
Diffstat (limited to 'misc-utils')
| -rw-r--r-- | misc-utils/docfdisk.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/misc-utils/docfdisk.c b/misc-utils/docfdisk.c index 486ce29..47e4ff9 100644 --- a/misc-utils/docfdisk.c +++ b/misc-utils/docfdisk.c @@ -253,8 +253,13 @@ int main(int argc, char **argv) for (i = 0; i < npart; i++) { ip = &(mh->Partitions[i]); ip->firstUnit = cpu_to_le32(block); - if (!nblocks[i]) + if (!nblocks[i]) { + if (block >= totblocks) { + printf("No space left on device for partition.\n"); + return 1; + } nblocks[i] = totblocks - block; + } ip->virtualUnits = cpu_to_le32(nblocks[i]); block += nblocks[i]; ip->lastUnit = cpu_to_le32(block-1); |
