[ http://issues.apache.org/jira/browse/XERCESC-1612?page=all ]
David Bertoni resolved XERCESC-1612:
------------------------------------
Fix Version: Nightly build (please specify the date)
Resolution: Duplicate
This is a duplicate of XERCESC-1555.
> Out of bounds read in XMLUTF8Transcoder::transcodeFrom
> ------------------------------------------------------
>
> Key: XERCESC-1612
> URL: http://issues.apache.org/jira/browse/XERCESC-1612
> Project: Xerces-C++
> Type: Bug
> Components: Miscellaneous
> Versions: 2.7.0
> Reporter: Daniel Burr
> Priority: Trivial
> Fix For: Nightly build (please specify the date)
>
> The test for character conversion is:
> while (*srcPtr <= 127 && srcPtr != srcEnd && outPtr != outEnd );
> This can give an error in valgrind because srcPtr is being dereferenced
> before the check is done to see if it is at the end. The error can be fixed
> with something like:
> while (srcPtr != srcEnd && *srcPtr <= 127 && outPtr != outEnd );
> --- XMLUTF8Transcoder.cpp.orig 2006-06-30 14:28:35.000000000 +1000
> +++ XMLUTF8Transcoder.cpp 2006-06-30 14:28:39.000000000 +1000
> @@ -154,8 +154,8 @@
> do
> {
> *outPtr++ = XMLCh(*srcPtr++);
> - } while (*srcPtr <= 127 &&
> - srcPtr != srcEnd &&
> + } while ( srcPtr != srcEnd &&
> + *srcPtr <= 127 &&
> outPtr != outEnd );
> memset(sizePtr,1,srcPtr - srcPtr_save);
> sizePtr += srcPtr - srcPtr_save;
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]