From 00b8b11858785439785c0f6805ea4b6910070020 Mon Sep 17 00:00:00 2001 From: shyouhei Date: Mon, 12 Nov 2018 03:26:39 +0000 Subject: vm_insnhelper.c: avoid division by zero same as r65642. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65678 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- vm_insnhelper.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'vm_insnhelper.c') diff --git a/vm_insnhelper.c b/vm_insnhelper.c index 84ed11662e..05a5289487 100644 --- a/vm_insnhelper.c +++ b/vm_insnhelper.c @@ -3450,7 +3450,7 @@ vm_opt_div(VALUE recv, VALUE obj) } else if (FLONUM_2_P(recv, obj) && BASIC_OP_UNREDEFINED_P(BOP_DIV, FLOAT_REDEFINED_OP_FLAG)) { - return DBL2NUM(RFLOAT_VALUE(recv) / RFLOAT_VALUE(obj)); + return rb_flo_div_flo(recv, obj); } else if (SPECIAL_CONST_P(recv) || SPECIAL_CONST_P(obj)) { return Qundef; @@ -3458,7 +3458,7 @@ vm_opt_div(VALUE recv, VALUE obj) else if (RBASIC_CLASS(recv) == rb_cFloat && RBASIC_CLASS(obj) == rb_cFloat && BASIC_OP_UNREDEFINED_P(BOP_DIV, FLOAT_REDEFINED_OP_FLAG)) { - return DBL2NUM(RFLOAT_VALUE(recv) / RFLOAT_VALUE(obj)); + return rb_flo_div_flo(recv, obj); } else { return Qundef; -- cgit v1.2.3