diff options
| author | Karel Zak <kzak@redhat.com> | 2014-07-01 13:25:46 +0200 |
|---|---|---|
| committer | Karel Zak <kzak@redhat.com> | 2014-07-01 13:25:46 +0200 |
| commit | a1da27a8c038d78014bee702dca9a3dc32bf1133 (patch) | |
| tree | 707b3f49d51f44fc8be32d70da4744143052df24 /disk-utils/cfdisk.c | |
| parent | f3438ee8011e262d081534842f83a666c33cc0a3 (diff) | |
| download | util-linux-a1da27a8c038d78014bee702dca9a3dc32bf1133.tar.gz | |
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.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/disk-utils/cfdisk.c b/disk-utils/cfdisk.c index 0e4638f102..b79579ee41 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) |
