aboutsummaryrefslogtreecommitdiff
path: root/misc-utils/docfdisk.c
diff options
context:
space:
mode:
Diffstat (limited to 'misc-utils/docfdisk.c')
-rw-r--r--misc-utils/docfdisk.c4
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);