~ chicken-core (chicken-5) 3591398e5e6145cdf62dc6d107b2361838f19b3b


commit 3591398e5e6145cdf62dc6d107b2361838f19b3b
Author:     LemonBoy <thatlemon@gmail.com>
AuthorDate: Mon May 1 13:27:06 2017 +0200
Commit:     Evan Hanson <evhan@foldling.org>
CommitDate: Wed May 3 08:36:51 2017 +1200

    Make fx*? aware of non-fixnum arguments
    
    This brings it in line with the other overflow-aware operators.
    
    Signed-off-by: Evan Hanson <evhan@foldling.org>

diff --git a/runtime.c b/runtime.c
index 00b9a557..86db413d 100644
--- a/runtime.c
+++ b/runtime.c
@@ -9204,6 +9204,8 @@ C_regparm C_word C_fcall C_i_o_fixnum_times(C_word n1, C_word n2)
   C_uword c = 1UL<<31UL;
 #endif
 
+  if((n1 & C_FIXNUM_BIT) == 0 || (n2 & C_FIXNUM_BIT) == 0) return C_SCHEME_FALSE;
+
   if((n1 & C_INT_SIGN_BIT) == (n2 & C_INT_SIGN_BIT)) --c;
 
   x1 = C_unfix(n1);
Trap