From: Luis Pires Date: Fri, 10 Sep 2021 11:26:03 +0000 (-0300) Subject: host-utils: Fix overflow detection in divu128() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=06c0259a086f0f4ddd57a14ba811bba0b9e45130;p=qemu.git host-utils: Fix overflow detection in divu128() The previous code didn't detect overflows if the high 64-bit of the dividend were equal to the 64-bit divisor. In that case, 64 bits wouldn't be enough to hold the quotient. Signed-off-by: Luis Pires Reviewed-by: Richard Henderson Message-Id: <20210910112624.72748-2-luis.pires@eldorado.org.br> Signed-off-by: David Gibson --- diff --git a/util/host-utils.c b/util/host-utils.c index 7b9322071d..a789a11b46 100644 --- a/util/host-utils.c +++ b/util/host-utils.c @@ -102,7 +102,7 @@ int divu128(uint64_t *plow, uint64_t *phigh, uint64_t divisor) *plow = dlo / divisor; *phigh = dlo % divisor; return 0; - } else if (dhi > divisor) { + } else if (dhi >= divisor) { return 1; } else {