summaryrefslogtreecommitdiffstats
path: root/disk-utils/cfdisk.c
diff options
context:
space:
mode:
authorKarel Zak2014-07-01 13:25:46 +0200
committerKarel Zak2014-07-01 13:25:46 +0200
commita1da27a8c038d78014bee702dca9a3dc32bf1133 (patch)
tree707b3f49d51f44fc8be32d70da4744143052df24 /disk-utils/cfdisk.c
parentlibblkid: fix probe_ddf() [clang-analyze] (diff)
downloadkernel-qcow2-util-linux-a1da27a8c038d78014bee702dca9a3dc32bf1133.tar.gz
kernel-qcow2-util-linux-a1da27a8c038d78014bee702dca9a3dc32bf1133.tar.xz
kernel-qcow2-util-linux-a1da27a8c038d78014bee702dca9a3dc32bf1133.zip
cfdisk: fix division by zero [clang-analyze]
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'disk-utils/cfdisk.c')
-rw-r--r--disk-utils/cfdisk.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/disk-utils/cfdisk.c b/disk-utils/cfdisk.c
index 0e4638f10..b79579ee4 100644
--- a/disk-utils/cfdisk.c
+++ b/disk-utils/cfdisk.c
@@ -796,6 +796,9 @@ static size_t menuitem_get_line(struct cfdisk *cf, size_t idx)
size_t len = m->width + 4 + MENU_PADDING; /* item width */
size_t items = COLS / len; /* items per line */
+ if (items == 0)
+ return 0;
+
return MENU_START_LINE + ((idx / items));
}
}
@@ -814,6 +817,9 @@ static int menuitem_get_column(struct cfdisk *cf, size_t idx)
COLS % len : /* - multi-line menu */
COLS - (cf->menu->nitems * len); /* - one line menu */
+ if (items == 0)
+ return 0; /* hmm... no space */
+
extra += MENU_PADDING; /* add padding after last item to extra */
if (idx < items)