Actions
Bug #5972
closedOpenSSL::ASN1::GeneralString - double INT2NUM() results in invalid ASN.1 tag
Description
In ext/openssl/ossl_asn1.c, INT2NUM() is being called twice for V_ASN1_GENERALSTRING:
rb_hash_aset(class_tag_map, cASN1GeneralString, INT2NUM(INT2NUM(V_ASN1_GENERALSTRING)));
This causes OpenSSL::ASN1::GeneralString.new to return "unsupported ASN.1 type":
$ irb -ropenssl
irb > OpenSSL::ASN1::GeneralString.new("foo").to_der
OpenSSL::ASN1::ASN1Error: unsupported ASN.1 type
from (irb):1:in to_der' from (irb):1 from /usr/bin/irb:12:in
'
irb >
Expected result:
$ irb -ropenssl
irb > OpenSSL::ASN1::GeneralString.new("foo").to_der
=> "\e\x03foo"
irb >
Patch attached.
Files
Updated by MartinBosslet (Martin Bosslet) almost 13 years ago
- Assignee set to MartinBosslet (Martin Bosslet)
- Target version set to 2.0.0
Updated by Anonymous almost 13 years ago
- Status changed from Open to Closed
- % Done changed from 0 to 100
This issue was solved with changeset r34469.
Mantas, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
- ext/openssl/ossl_asn1.c: Call INT2NUM only once for GeneralString.
Thanks to Mantas Mikulenas for noticing and providing a patch!
[ruby-core:42358] [Bug #5972]
Actions
Like0
Like0Like0