From a1da27a8c038d78014bee702dca9a3dc32bf1133 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 1 Jul 2014 13:25:46 +0200 Subject: cfdisk: fix division by zero [clang-analyze] Signed-off-by: Karel Zak --- disk-utils/cfdisk.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'disk-utils/cfdisk.c') 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) -- cgit v1.2.3-55-g7522