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 | ae61af9b019bfbb68dbc8e01b8c2b16c177292b2 (patch) | |
tree | 563ab1de3ff5ee7c3b298d472fff80b7e7484423 | |
parent | c2e74757693097692fee3127a3f6fb48cca5543b (diff) | |
download | ruby-ae61af9b019bfbb68dbc8e01b8c2b16c177292b2.tar.gz ruby-ae61af9b019bfbb68dbc8e01b8c2b16c177292b2.tar.xz ruby-ae61af9b019bfbb68dbc8e01b8c2b16c177292b2.zip |
* math.c (math_log): should check argc.
git-svn-id: http://svn.ruby-lang.org/repos/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 55f354664..d4dbf9dbf 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 |