From 845fd622ed0f7bff383700cf777cee7fef486de5 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 15 May 2019 17:10:38 +0200 Subject: [PATCH] libfdisk: avoid division by zero [clang scan] Signed-off-by: Karel Zak --- libfdisk/src/gpt.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/libfdisk/src/gpt.c b/libfdisk/src/gpt.c index b12a9cb60a..1658782a85 100644 --- a/libfdisk/src/gpt.c +++ b/libfdisk/src/gpt.c @@ -2748,8 +2748,13 @@ int fdisk_gpt_set_npartitions(struct fdisk_context *cxt, uint32_t entries) /* calculate the size (bytes) of the entries array */ rc = gpt_calculate_sizeof_ents(gpt->pheader, entries, &new_size); if (rc) { - fdisk_warnx(cxt, _("The number of the partition has to be smaller than %zu."), - UINT32_MAX / le32_to_cpu(gpt->pheader->sizeof_partition_entry)); + uint32_t entry_size = le32_to_cpu(gpt->pheader->sizeof_partition_entry); + + if (entry_size == 0) + fdisk_warnx(cxt, _("The partition entry size is zero.")); + else + fdisk_warnx(cxt, _("The number of the partition has to be smaller than %zu."), + UINT32_MAX / entry_size); return rc; } -- 2.47.2