From ad7ee60341738cbbe3f4aba876b1b0d6da1078c4 Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Sun, 8 Jun 2014 16:05:36 -0700 Subject: [PATCH] vm: fix bignum_to_fixnum_strict for BIGNUM_ZERO. --- vm/bignum.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/vm/bignum.cpp b/vm/bignum.cpp index 799099e3c6..0880de1f94 100644 --- a/vm/bignum.cpp +++ b/vm/bignum.cpp @@ -385,6 +385,8 @@ BIGNUM_TO_FOO(ulong_long, uint64_t, int64_t, uint64_t) /* cannot allocate memory */ fixnum factor_vm::bignum_to_fixnum_strict(bignum* bignum_in) { + if (BIGNUM_ZERO_P(bignum_in)) + return 0; fixnum len = BIGNUM_LENGTH(bignum_in); bignum_digit_type *digits = BIGNUM_START_PTR(bignum_in); if ((len == 1 && digits[0] > fixnum_max) || (len > 1)) {