Project

General

Profile

Actions

Feature #5678

closed

StringIO#to_str

Added by MartinBosslet (Martin Bosslet) over 12 years ago. Updated over 12 years ago.

Status:
Closed
Target version:
[ruby-core:41340]

Description

The following raises an error currently:

require 'stringio'
require 'openssl'

io = StringIO.new(OpenSSL::ASN1::Integer.new(1).to_der)
asn = OpenSSL::ASN1.decode io

The reason is that ossl_obj2bio[1] looks for a
T_FILE first, and then it tries to coerce the
input to a String using StringValue. StringValue
itself again expects the presence of to_str,
which is currently missing for StringIO, but
could be easily provided by aliasing
StringIO#string.

I could imagine that the heuristic of ossl_obj2bio
is quite common when working on binary data in a
C extension. Would it therefore be OK to add
StringIO#to_str? Patch attached.

[1] https://github.com/ruby/ruby/blob/trunk/ext/openssl/ossl_bio.c#L17


Files

stringio.patch (582 Bytes) stringio.patch MartinBosslet (Martin Bosslet), 11/28/2011 09:52 AM
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0