~ chicken-core (chicken-5) cd2a1a265f6075725701cfbd4a07d8411b1aa151
commit cd2a1a265f6075725701cfbd4a07d8411b1aa151 Author: felix <felix@call-with-current-continuation.org> AuthorDate: Sat Nov 4 13:30:23 2017 +0100 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Sat Nov 4 13:30:23 2017 +0100 correctly set last digit of random bignum diff --git a/runtime.c b/runtime.c index af5d32f2..3ded7f45 100644 --- a/runtime.c +++ b/runtime.c @@ -12672,7 +12672,7 @@ C_s_a_u_i_random_int(C_word **ptr, C_word n, C_word rn) len -= sizeof(C_uword); } - *end = random_word() >> len; /* XXX is this right? uniform? */ + *p = random_word() & ((1 << (len % C_BIGNUM_DIGIT_LENGTH)) - 1); return C_bignum_simplify(result); }Trap