[ https://issues.apache.org/jira/browse/XERCESC-1679?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alberto Massari resolved XERCESC-1679. -------------------------------------- Resolution: Duplicate Duplicate of XERCESC-1555 > xercesc_2_7::XMLUTF8Transcoder::transcodeFrom has a Conditional jump or move > depends on uninitialised value. > ------------------------------------------------------------------------------------------------------------ > > Key: XERCESC-1679 > URL: https://issues.apache.org/jira/browse/XERCESC-1679 > Project: Xerces-C++ > Issue Type: Bug > Components: Utilities > Affects Versions: 2.7.0 > Environment: Linux rhes-4 i686 gcc-3-2-3 32 bit > Reporter: Philippe Forest > > The problem is that the value of the poiter get checked before the check to > see if you have passed the end of the input buffer. > in the file :XMLUTF8Transcoder.cpp on position 157. > current code: > } while (*srcPtr <= 127 && // <- this can cause a crash if > this memory is not your. > srcPtr != srcEnd && > outPtr != outEnd ); > should be: > } while ( > srcPtr != srcEnd && // first check the end > *srcPtr <= 127 && // then the content > outPtr != outEnd ); > See valrind log: > Thanks Let me know if you need more details. > Phil. > ==25072== Conditional jump or move depends on uninitialised value(s) > ==25072== at 0x5170D2A: > xercesc_2_7::XMLUTF8Transcoder::transcodeFrom(unsigned char const*, unsigned, > unsigned short*, unsigned, unsigned&, unsigned char*) > (XMLUTF8Transcoder.cpp:157) > ==25072== by 0x5158D2F: xercesc_2_7::XMLReader::xcodeMoreChars(unsigned > short*, unsigned char*, unsigned) (XMLReader.cpp:1707) > ==25072== by 0x5156FC9: xercesc_2_7::XMLReader::refreshCharBuffer() > (XMLReader.cpp:498) > ==25072== by 0x50BB3A7: xercesc_2_7::XMLReader::peekNextChar(unsigned > short&) (XMLReader.hpp:759) > ==25072== by 0x50B933A: xercesc_2_7::ReaderMgr::peekNextChar() > (ReaderMgr.cpp:163) > ==25072== by 0x515DFA6: xercesc_2_7::XMLScanner::scanProlog() > (XMLScanner.cpp:1237) > ==25072== by 0x5085CC6: > xercesc_2_7::IGXMLScanner::scanDocument(xercesc_2_7::InputSource const&) > (IGXMLScanner.cpp:202) > ==25072== by 0x50CC048: > xercesc_2_7::SAX2XMLReaderImpl::parse(xercesc_2_7::InputSource const&) > (SAX2XMLReaderImpl.cpp:396) > ... -- 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]