activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Schlapfer (JIRA)" <j...@apache.org>
Subject [jira] Created: (AMQCPP-235) UTF8 length marshalling bug in openwire readString and writeString.
Date Wed, 08 Apr 2009 16:46:36 GMT
UTF8 length marshalling bug in openwire readString and writeString.
-------------------------------------------------------------------

                 Key: AMQCPP-235
                 URL: https://issues.apache.org/activemq/browse/AMQCPP-235
             Project: ActiveMQ C++ Client
          Issue Type: Bug
          Components: Openwire
         Environment: Windows XP / Visual Studio 2005
            Reporter: Martin Schlapfer
            Assignee: Timothy Bish
            Priority: Minor


In investigating a bug for the check "if( str->size() > 65536 )" which should be "if(
str->size() > 65535 )" in writeString() , I found a couple of other problems:
(1) The OpenwireStringSupport::readString method should read the utf8 length as an unsigned
short rather than short.  The problem is that utf8 encoded strings (using writeString) longer
than 32768 will become truncated when read back using readString().
(2) The writeString() method should also check the value of utflen after determining the UTF8
length of the encoded string, since with the support of characters greater than value 127,
encodings of 2 UTF8 bytes per byte can exist.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message