From 908694de1d225d454bfc276af6936198738f4182 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Mon, 5 Jun 2017 19:27:10 -0700 Subject: itypes: fix broken u64_t range check. * itypes.c (c_u64): Replace copy and pasted signed check with the unsigned check. --- itypes.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/itypes.c b/itypes.c index 51982e66..a9126f6f 100644 --- a/itypes.c +++ b/itypes.c @@ -110,8 +110,8 @@ i64_t c_i64(val n, val self) u64_t c_u64(val n, val self) { - uint_ptr_t v = c_unum(n); - if (v < (cnum) -0x8000000000000000 || v > (cnum) 0x7FFFFFFFFFFFFFFF) + ucnum v = c_unum(n); + if (v > (ucnum) 0xFFFFFFFFFFFFFFFF) uw_throwf(error_s, lit("~a: value ~s is out of unsigned 64 bit range"), self, n, nao); return v; -- cgit v1.2.3