[#8815] Segfault in libc strlen, via rb_str_new2 — "Sean E. Russell" <ser@...>

Howdy,

12 messages 2006/09/09
[#8817] Re: Segfault in libc strlen, via rb_str_new2 — Eric Hodel <drbrain@...7.net> 2006/09/09

On Sep 8, 2006, at 10:10 PM, Sean E. Russell wrote:

Segfault in libc strlen, via rb_str_new2

From: "Sean E. Russell" <ser@...>
Date: 2006-09-09 05:10:43 UTC
List: ruby-core #8815
Howdy,

Could someone either

a) point me to the known bug report for this, or
b) try this to confirm that it also segfalts on them

I didn't see a bug report in the tracker, but that doesn't mean one isn't 
there.

This is Ruby 1.8.5 on Linux.  I get a segfault in libc's strlen().

Thanks.

=== CODE
# Create tst.xml:
#   echo "<a x='1'/>" > tst.xml
#
# Run this:
#   ruby tst.rb tst.xml
require 'dl/import'

libxml = DL.dlopen( 'libxml2.so' )
file_reader = libxml[ 'xmlNewTextReaderFilename', 'IS' ]
free_reader = libxml[ 'xmlFreeTextReader', '0I' ]
pull = libxml[ 'xmlTextReaderRead', 'II' ]
name = libxml[ 'xmlTextReaderName', 'SI' ]
has_attributes = libxml[ 'xmlTextReaderHasAttributes', 'SI' ]

reader = file_reader.call( ARGV[0] )[0]

puts pull.call( reader )[0]
puts "Name = #{name.call(reader)[0]}"
has_attributes.call(reader)

free_reader.call(reader)

=== GDB trace
#0  0xb7d42a3b in strlen () from /lib/tls/libc.so.6
#1  0xb7efc1c6 in rb_str_new2 () from /usr/lib/libruby18.so
#2  0xb7efc26d in rb_tainted_str_new2 () from /usr/lib/libruby18.so
#3  0xb7e68e7c in rb_dlsym_call () from /usr/lib/ruby/1.8/i686-linux/dl.so
#4  0xb7e9c143 in rb_thread_schedule () from /usr/lib/libruby18.so
#5  0xb7e9c4ae in rb_thread_schedule () from /usr/lib/libruby18.so
#6  0xb7e97882 in rb_thread_schedule () from /usr/lib/libruby18.so
#7  0xb7ea4d95 in rb_eval_string () from /usr/lib/libruby18.so
#8  0xb7ea4de2 in ruby_exec () from /usr/lib/libruby18.so
#9  0xb7ea5f5f in ruby_run () from /usr/lib/libruby18.so
#10 0x080486d4 in main ()


-- 
### SER   
### Deutsch|Esperanto|Francaise|Linux|XML|Java|Ruby|Aikido|Iaido
### http://www.ser1.net  jabber.com:ser  ICQ:83578737 
### GPG: http://www.ser1.net/Security/ser_public.gpg

In This Thread

Prev Next