[ 
https://issues.apache.org/activemq/browse/AMQCPP-235?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=51118#action_51118
 ] 

Timothy Bish commented on AMQCPP-235:
-------------------------------------

Yes, that's pretty much what I thought would happen.  I'm reworking some of the 
code now, I should have this fixed in a few days.  I will of course make sure 
to pick up the fixes from your patches as well.  

BTW - Thanks for adding more unit testing, I really appreciate it when folks 
take the time to add them, keeps regressions from popping up.

> 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
>         Attachments: OpenwireStringSupport.cpp.patch, 
> OpenwireStringSupportTest.cpp.patch, OpenwireStringSupportTest.h.patch
>
>
> 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.

Reply via email to