diff mbox series

[v2,01/19] host-utils: Fix overflow detection in divu128()

Message ID 20210831164007.297781-2-luis.pires@eldorado.org.br
State New
Headers show
Series target/ppc: DFP instructions using decodetree | expand

Commit Message

Luis Fernando Fujita Pires Aug. 31, 2021, 4:39 p.m. UTC
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 <luis.pires@eldorado.org.br>
---
 util/host-utils.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Richard Henderson Aug. 31, 2021, 5:08 p.m. UTC | #1
On 8/31/21 9:39 AM, Luis Pires wrote:
> 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<luis.pires@eldorado.org.br>
> ---
>   util/host-utils.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~
diff mbox series

Patch

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 {