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