summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-01-29 18:48:24 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-01-29 18:48:24 +0000
commit5323407175fb44c366ce70577895009f640be8f8 (patch)
tree248ae0d7ce29b7343d7c8c0bb346a631ed772a61
parenteea774d0295e422a5231124c25aae11c39fb2abd (diff)
* ext/openssl/ossl_bn.c (GetBNPtr): add missing nil case.
patched by Martin Bosslet. [ruby-core:34987] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--ext/openssl/ossl_bn.c2
-rw-r--r--test/openssl/test_bn.rb10
3 files changed, 15 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index d688e2b9db..457506ac74 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sun Jan 30 03:29:47 2011 NARUSE, Yui <naruse@ruby-lang.org>
+
+ * ext/openssl/ossl_bn.c (GetBNPtr): add missing nil case.
+ patched by Martin Bosslet. [ruby-core:34987]
+
Sun Jan 30 01:02:28 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* include/ruby/ruby.h: Added NUM2MODET() and MODET2NUM() default definition.
diff --git a/ext/openssl/ossl_bn.c b/ext/openssl/ossl_bn.c
index 0a91697aa1..da62f07f46 100644
--- a/ext/openssl/ossl_bn.c
+++ b/ext/openssl/ossl_bn.c
@@ -70,6 +70,8 @@ GetBNPtr(VALUE obj)
}
WrapBN(cBN, obj, bn); /* Handle potencial mem leaks */
break;
+ case T_NIL:
+ break;
default:
ossl_raise(rb_eTypeError, "Cannot convert into OpenSSL::BN");
}
diff --git a/test/openssl/test_bn.rb b/test/openssl/test_bn.rb
index 769b7ed831..7136de9a27 100644
--- a/test/openssl/test_bn.rb
+++ b/test/openssl/test_bn.rb
@@ -9,8 +9,14 @@ class OpenSSL::TestBN < Test::Unit::TestCase
end
def test_prime_p
- OpenSSL::BN.new((2 ** 107 - 1).to_s(16), 16).prime?
- OpenSSL::BN.new((2 ** 127 - 1).to_s(16), 16).prime?(1)
+ assert_equal(true, OpenSSL::BN.new((2 ** 107 - 1).to_s(16), 16).prime?)
+ assert_equal(true, OpenSSL::BN.new((2 ** 127 - 1).to_s(16), 16).prime?(1))
+ end
+
+ def test_cmp_nil
+ bn = OpenSSL::BN.new('1')
+ assert_equal(false, bn == nil)
+ assert_equal(true, bn != nil)
end
end