diff options
author | tadf <tadf@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-09-21 12:53:40 +0000 |
---|---|---|
committer | tadf <tadf@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-09-21 12:53:40 +0000 |
commit | bdf81563bf8bf7922cd8366c792478e220f76168 (patch) | |
tree | 563ab1de3ff5ee7c3b298d472fff80b7e7484423 | |
parent | 83b381752e21f15eb224bcf53142a3c8eaede1dc (diff) |
* math.c (math_log): should check argc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | math.c | 2 | ||||
-rw-r--r-- | test/ruby/test_math.rb | 1 |
3 files changed, 6 insertions, 1 deletions
@@ -1,3 +1,7 @@ +Sun Sep 21 21:52:41 2008 Tadayoshi Funaba <tadf@dotrb.org> + + * math.c (math_log): should check argc. + Sun Sep 21 21:20:24 2008 Tadayoshi Funaba <tadf@dotrb.org> * complex.c: added two macros. @@ -353,7 +353,7 @@ math_log(int argc, VALUE *argv) Need_Float(x); errno = 0; d = log(RFLOAT_VALUE(x)); - if (!NIL_P(base)) { + if (argc == 2) { Need_Float(base); d /= log(RFLOAT_VALUE(base)); } diff --git a/test/ruby/test_math.rb b/test/ruby/test_math.rb index 55f354664c..d4dbf9dbf0 100644 --- a/test/ruby/test_math.rb +++ b/test/ruby/test_math.rb @@ -113,6 +113,7 @@ class TestMath < Test::Unit::TestCase assert_equal(1.0/0, Math.log(1.0/0)) assert_raise(Errno::EDOM, Errno::ERANGE) { Math.log(0) } assert_raise(Errno::EDOM, Errno::ERANGE) { Math.log(-1) } + assert_raise(TypeError) { Math.log(1,nil) } end def test_log2 |