Project

General

Profile

Actions

Bug #5972

closed

OpenSSL::ASN1::GeneralString - double INT2NUM() results in invalid ASN.1 tag

Added by grawity (Mantas Mikulėnas) about 12 years ago. Updated about 12 years ago.

Status:
Closed
Target version:
ruby -v:
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux]
Backport:
[ruby-core:42358]

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

ruby-1.9.3-p0-openssl-generalstring.patch (914 Bytes) ruby-1.9.3-p0-openssl-generalstring.patch Patch grawity (Mantas Mikulėnas), 02/05/2012 10:29 PM
Actions

Also available in: Atom PDF

Like0
Like0Like0