From: Tom Yan Date: Sun, 19 Dec 2021 17:30:38 +0000 (+0800) Subject: repart: use real disk start/end for bar production X-Git-Tag: v250-rc3~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d8daed09f37bc9f8ecb9268a4e371f65aec8b24a;p=thirdparty%2Fsystemd.git repart: use real disk start/end for bar production Partitions are not always within our aligned scope. Bar printing involves foreign partitions as well. Fixes #21817. --- diff --git a/src/partition/repart.c b/src/partition/repart.c index 895c0665d89..d08f47f2c47 100644 --- a/src/partition/repart.c +++ b/src/partition/repart.c @@ -2080,16 +2080,14 @@ static void context_bar_char_process_partition( from = p->offset; to = from + p->new_size; - assert(context->end >= context->start); - total = context->end - context->start; + assert(context->total > 0); + total = context->total; - assert(from >= context->start); - assert(from <= context->end); - x = (from - context->start) * n / total; + assert(from <= total); + x = from * n / total; - assert(to >= context->start); - assert(to <= context->end); - y = (to - context->start) * n / total; + assert(to <= total); + y = to * n / total; assert(x <= y); assert(y <= n);