Clayton Wheeler created JRUBY-6662:
--------------------------------------
Summary: rb_string_value_cstr incorrectly rejects Unicode strings
Key: JRUBY-6662
URL: https://jira.codehaus.org/browse/JRUBY-6662
Project: JRuby
Issue Type: Bug
Affects Versions: JRuby 1.6.7
Environment: JRuby 1.6.7 on Mac OS X 10.7.3, Java 1.6.0_31 64-bit
server VM
Reporter: Clayton Wheeler
Assignee: Thomas E Enebo
A BioRuby test for XML processing (test/unit/bio/db/test_phyloxml.rb:104) fails
on JRuby with libxml-ruby with ArgumentError: string contains NULL byte when
calling the XML::Reader.string method, defined in native code, with a Unicode
string. This string does not contain a null byte, but it is a UTF-8 string.
The JRuby implementation of rb_string_value_cstr appears to give this error
when the Ruby string length and the C strlen(3) length differ, without
explicitly checking for a null byte. I would expect this to cause problems with
UTF-8 strings containing multibyte characters.
This same problem can be observed in the libxml-ruby unit tests; test_base_uri
in test/tc_reader.rb fails for the same reason.
There are no RubySpecs exercising rb_string_value_cstr AKA StringValueCStr; it
would be good if there was one but I'm not familiar enough with the Ruby C API
to write it.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email