DOMString (deprecated) corruption
---------------------------------

                 Key: XERCESC-1775
                 URL: https://issues.apache.org/jira/browse/XERCESC-1775
             Project: Xerces-C++
          Issue Type: Bug
          Components: DOM
    Affects Versions: 2.7.0, 2.8.0
         Environment: any
            Reporter: Maxim Volkonovsky


This bug was introduced in revision 176239 (probably to fix bug XERCESC-398). 
'clone'd string could be corrupted (truncated) by rawBuffer method. It comes 
from wrong assumption that DOMString (and rawBuffer returned from it) should be 
null-terminated.

The following code snippet reproduce the bug:

DOMString test, test2;

test = "OneTwo";
test2 = test.substringData(0, 3);


XERCES_STD_QUALIFIER cout << test.transcode() << XERCES_STD_QUALIFIER endl;
XERCES_STD_QUALIFIER cout << test2.transcode() << XERCES_STD_QUALIFIER endl;
XERCES_STD_QUALIFIER cout << test.transcode() << XERCES_STD_QUALIFIER endl;

transcode (which calls rawBuffer) for 'test2' string truncates 'test' string to 
3 characters.

I suppose that the easiest way to fix it - is to rollback diff for revision 
176239 

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


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to