You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@xerces.apache.org by "Boris Kolpackov (JIRA)" <xe...@xml.apache.org> on 2008/12/11 21:04:44 UTC
[jira] Updated: (XERCESC-1845) ABW: Array bounds write:
xercesc_3_0::XMemory::XMemory() [libxerces-c.a]
[ https://issues.apache.org/jira/browse/XERCESC-1845?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Boris Kolpackov updated XERCESC-1845:
-------------------------------------
Fix Version/s: 3.1.0
3.0.1
Need to check if this is real and fix for 3.0.1, 3.10.
> ABW: Array bounds write: xercesc_3_0::XMemory::XMemory() [libxerces-c.a]
> --------------------------------------------------------------------------
>
> Key: XERCESC-1845
> URL: https://issues.apache.org/jira/browse/XERCESC-1845
> Project: Xerces-C++
> Issue Type: Bug
> Components: Utilities
> Affects Versions: 3.0.0
> Environment: SunOS merlin.sce.carleton.ca 5.9 Generic_122300-21 sun4u sparc SUNW,Sun-Blade-100
> Reporter: Greg Franks
> Fix For: 3.0.1, 3.1.0
>
>
> Rational Purify is complaining about memory write overruns: Here is some sample output:
> ABW: Array bounds write
> This is occurring while in:
> xercesc_3_0::XMemory::XMemory() [libxerces-c.a]
> xercesc_3_0::XMLMutexMgr::XMLMutexMgr() [libxerces-c.a]
> xercesc_3_0::PosixMutexMgr::PosixMutexMgr() [PosixMutexMgr.cpp]
> xercesc_3_0::XMLMutexMgr*xercesc_3_0::XMLPlatformUtils::makeMutexMgr(xercesc_3_0::MemoryManager*const) [PlatformUtils.cpp:702]
> #if XERCES_USE_MUTEXMGR_NOTHREAD
> mgr = new (memmgr) NoThreadMutexMgr;
> #elif XERCES_USE_MUTEXMGR_POSIX
> => mgr = new (memmgr) PosixMutexMgr;
> #elif XERCES_USE_MUTEXMGR_WINDOWS
> mgr = new (memmgr) WindowsMutexMgr;
> #else
> void xercesc_3_0::XMLPlatformUtils::Initialize(const char*const,const char*const,xercesc_3_0::PanicHandler*const,xercesc_3_0::MemoryManager*const) [PlatformUtils.cpp:220]
>
>
> // Initialize the platform-specific mutex and file mgrs
> => fgMutexMgr = makeMutexMgr(fgMemoryManager);
> fgFileMgr = makeFileMgr(fgMemoryManager);
>
>
> xercesc_3_0::DOMDocument*readXML(const char*) [xmlcommon.cc:174]
> Writing 1 byte to 0x148341c in the heap.
> Address 0x148341c is 1 byte past end of a malloc'd block at 0x1483410 of 12 bytes.
> This block was allocated from:
> malloc [rtlib.o]
> c2n6Fi_Pv___1 [libCrun.so.1]
> void*operator new(unsigned) [rtlib.o]
> void*xercesc_3_0::MemoryManagerImpl::allocate(unsigned) [MemoryManagerImpl.cpp:40]
> {
> void* memptr;
> try {
> => memptr = ::operator new(size);
> }
> catch(...) {
> throw OutOfMemoryException();
> void*xercesc_3_0::XMemory::operator new(unsigned,xercesc_3_0::MemoryManager*) [XMemory.cpp:68]
> xercesc_3_0::XMLMutexMgr*xercesc_3_0::XMLPlatformUtils::makeMutexMgr(xercesc_3_0::MemoryManager*const) [PlatformUtils.cpp:702]
> This only occurs on a Sun Sparc using SunPro CC 5.0. Xerces works fine on Linux and Windoze. This is from the 3.0.0 tarball build.
--
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: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org