From 06c0259a086f0f4ddd57a14ba811bba0b9e45130 Mon Sep 17 00:00:00 2001 From: Luis Pires Date: Fri, 10 Sep 2021 08:26:03 -0300 Subject: 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 --- util/host-utils.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'util/host-utils.c') 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 { -- cgit v1.2.3-55-g7522