[ https://issues.apache.org/jira/browse/XERCESC-2221?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Scott Cantor updated XERCESC-2221: ---------------------------------- Priority: Minor (was: Major) > InMemMsgLoader::loadMsg(): fix memory leak when transcoding fails > ----------------------------------------------------------------- > > Key: XERCESC-2221 > URL: https://issues.apache.org/jira/browse/XERCESC-2221 > Project: Xerces-C++ > Issue Type: Bug > Components: Utilities > Affects Versions: 3.2.3 > Reporter: Even Rouault > Assignee: Scott Cantor > Priority: Minor > Fix For: 4.0.0, 3.2.4 > > > Seen with the IconvGNU transcoder when parsing "<aaa.xsdopengis.net/gml\x96". > The reason is that XMLString::transcode(repText2, manager) throws a > TranscodingException > which causes the tmp1 string to leak. > {noformat} > 0 0x8791409 in operator new(unsigned int) > /src/llvm-project/compiler-rt/lib/asan/asan_new_delete.cpp:99:3 > 1 0xbd147f7 in xercesc_4_0::MemoryManagerImpl::allocate(unsigned int) > gdal/xerces-c/src/xercesc/internal/MemoryManagerImpl.cpp:40:18 > 2 0xbe8c73e in xercesc_4_0::IconvGNULCPTranscoder::transcode(char const*, > xercesc_4_0::MemoryManager*) > gdal/xerces-c/src/xercesc/util/Transcoders/IconvGNU/IconvGNUTransService.cpp:870:32 > 3 0xbc22ca2 in xercesc_4_0::XMLString::transcode(char const*, > xercesc_4_0::MemoryManager*) > gdal/xerces-c/src/xercesc/util/XMLString.cpp:621:25 > 4 0xbe8f4ad in xercesc_4_0::InMemMsgLoader::loadMsg(unsigned int, char16_t*, > unsigned int, char const*, char const*, char const*, char const*, > xercesc_4_0::MemoryManager*) > gdal/xerces-c/src/xercesc/util/MsgLoaders/InMemory/InMemMsgLoader.cpp:157:16 > 5 0xbc20175 in > xercesc_4_0::XMLException::loadExceptText(xercesc_4_0::XMLExcepts::Codes, > char const*, char const*, char const*, char const*) > gdal/xerces-c/src/xercesc/util/XMLException.cpp:241:23 > 6 0xbc48bee in > xercesc_4_0::UTFDataFormatException::UTFDataFormatException(char const*, > unsigned long long, xercesc_4_0::XMLExcepts::Codes, char const*, char const*, > char const*, char const*, xercesc_4_0::MemoryManager*) > gdal/xerces-c/src/xercesc/util/UTFDataFormatException.hpp:31:1 > 7 0xbc4824e in xercesc_4_0::XMLUTF8Transcoder::transcodeFrom(unsigned char > const*, unsigned int, char16_t*, unsigned int, unsigned int&, unsigned char*) > gdal/xerces-c/src/xercesc/util/XMLUTF8Transcoder.cpp:182:13 > 8 0xbd27d7e in xercesc_4_0::XMLReader::xcodeMoreChars(char16_t*, unsigned > char*, unsigned int) gdal/xerces-c/src/xercesc/internal/XMLReader.cpp:1926:34 > 9 0xbd271dd in xercesc_4_0::XMLReader::refreshCharBuffer() > gdal/xerces-c/src/xercesc/internal/XMLReader.cpp:571:19 > 10 0xbd15c63 in xercesc_4_0::XMLReader::peekNextChar(char16_t&) > gdal/xerces-c/src/xercesc/internal/XMLReader.hpp:767:14 > 11 0xbd15aaf in xercesc_4_0::ReaderMgr::peekNextChar() > gdal/xerces-c/src/xercesc/internal/ReaderMgr.cpp:158:21 > 12 0xbd328da in xercesc_4_0::XMLScanner::scanProlog() > gdal/xerces-c/src/xercesc/internal/XMLScanner.cpp:1241:45 > 13 0xbd31ef4 in xercesc_4_0::XMLScanner::scanFirst(xercesc_4_0::InputSource > const&, xercesc_4_0::XMLPScanToken&) > gdal/xerces-c/src/xercesc/internal/XMLScanner.cpp:549:9 > 14 0xbdadcff in > xercesc_4_0::SAX2XMLReaderImpl::parseFirst(xercesc_4_0::InputSource const&, > xercesc_4_0::XMLPScanToken&) > gdal/xerces-c/src/xercesc/parsers/SAX2XMLReaderImpl.cpp:500:22 {noformat} > -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org For additional commands, e-mail: c-dev-h...@xerces.apache.org