From: Karel Zak Date: Wed, 15 May 2019 15:10:38 +0000 (+0200) Subject: libfdisk: avoid division by zero [clang scan] X-Git-Tag: v2.34-rc2~64 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=845fd622ed0f7bff383700cf777cee7fef486de5;p=thirdparty%2Futil-linux.git libfdisk: avoid division by zero [clang scan] Signed-off-by: Karel Zak --- 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; }