From ffa371d9aa1af1f22c41063add9af3e4922f2f12 Mon Sep 17 00:00:00 2001 From: nobu Date: Sun, 13 Nov 2016 02:04:51 +0000 Subject: [PATCH] numeric.c: limit return value * numeric.c (num_equal): limit return value to true or false, instead of the result of the other as-is. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- numeric.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/numeric.c b/numeric.c index 1bb939c333..959626e28d 100644 --- a/numeric.c +++ b/numeric.c @@ -1356,8 +1356,11 @@ num_cmp(VALUE x, VALUE y) static VALUE num_equal(VALUE x, VALUE y) { + VALUE result; if (x == y) return Qtrue; - return num_funcall1(y, id_eq, x); + result = num_funcall1(y, id_eq, x); + if (RTEST(result)) return Qtrue; + return Qfalse; } /*