summaryrefslogtreecommitdiffstats
path: root/fdisk/cfdisk.c
diff options
context:
space:
mode:
authorKarel Zak2006-12-07 00:26:05 +0100
committerKarel Zak2006-12-07 00:26:05 +0100
commit95f1bdeee42cd7b9ac49d64b27bcec49557a991e (patch)
tree5813d335771188c724c3d1bc9f9f9feb23c1d9ca /fdisk/cfdisk.c
parentImported from util-linux-2.11w tarball. (diff)
downloadkernel-qcow2-util-linux-95f1bdeee42cd7b9ac49d64b27bcec49557a991e.tar.gz
kernel-qcow2-util-linux-95f1bdeee42cd7b9ac49d64b27bcec49557a991e.tar.xz
kernel-qcow2-util-linux-95f1bdeee42cd7b9ac49d64b27bcec49557a991e.zip
Imported from util-linux-2.11x tarball.
Diffstat (limited to 'fdisk/cfdisk.c')
-rw-r--r--fdisk/cfdisk.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/fdisk/cfdisk.c b/fdisk/cfdisk.c
index 69b8b9948..03bb3b437 100644
--- a/fdisk/cfdisk.c
+++ b/fdisk/cfdisk.c
@@ -903,11 +903,16 @@ add_part(int num, int id, int flags, int first, int last, int offset,
return -1;
}
- if (last >= total_size) {
+ if (last >= actual_size) {
*errmsg = _("Partition ends after end-of-disk");
return -1;
}
+ if (last >= total_size) {
+ *errmsg = _("Partition ends in the final partial cylinder");
+ return -1;
+ }
+
for (i = 0; i < num_parts; i++) {
if (p_info[i].id > 0 && IS_PRIMARY(p_info[i].num))
pri++;
@@ -1670,7 +1675,7 @@ fill_p_info(void) {
bs, 1, &errmsg)) {
char *bad = _("Bad logical partition");
char *msg = (char *) xmalloc(strlen(bad) + strlen(errmsg) + 30);
- sprintf(msg, "%s %d: %s", bad, i-1, errmsg);
+ sprintf(msg, "%s %d: %s", bad, i, errmsg);
fatal(msg, 4);
}
}