From: Karel Zak Date: Thu, 9 Oct 2014 10:10:09 +0000 (+0200) Subject: libfdisk: (gpt) follow explicit size, fiz size+1 buf X-Git-Tag: v2.26-rc1~332 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=18b266cea329b803a58af50254769f3de4eab9d9;p=thirdparty%2Futil-linux.git libfdisk: (gpt) follow explicit size, fiz size+1 buf Signed-off-by: Karel Zak --- diff --git a/libfdisk/src/gpt.c b/libfdisk/src/gpt.c index 8947a722f9..d7b3986781 100644 --- a/libfdisk/src/gpt.c +++ b/libfdisk/src/gpt.c @@ -1997,7 +1997,7 @@ static int gpt_add_partition( user_l = user_f + pa->size - 1; DBG(LABEL, ul_debug("size defined: %ju, end: %ju (last possible: %ju)", pa->size, user_l, dflt_l)); - if (user_l != dflt_l) + if (user_l != dflt_l && !pa->size_explicit) user_l = fdisk_align_lba_in_range(cxt, user_l, user_f, dflt_l) - 1; } else if (pa && pa->end_follow_default) { @@ -2029,7 +2029,10 @@ static int gpt_add_partition( if (user_l + (cxt->grain / cxt->sector_size) > dflt_l) user_l = dflt_l; */ - } if (user_l > user_f && user_l <= disk_l) + } else + user_l -= 1; + + if (user_l > user_f && user_l <= disk_l) break; } }