[email protected]
[Top] [All Lists]

[jira] Created: (XERCESC-1845) ABW: Array bounds write: xercesc_3_0::X

Subject: [jira] Created: (XERCESC-1845) ABW: Array bounds write: xercesc_3_0::XMemory::XMemory() [libxerces-c.a]
From: "Greg Franks (JIRA)"
Date: Thu, 11 Dec 2008 10:42:44 -0800 PST
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

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]
                       #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;
            void xercesc_3_0::XMLPlatformUtils::Initialize(const 
                   // 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* memptr;
                   try {
            =>         memptr = ::operator new(size);
                   catch(...) {
                       throw OutOfMemoryException();
new(unsigned,xercesc_3_0::MemoryManager*) [XMemory.cpp:68]

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@xxxxxxxxxxxxxxxxx
For additional commands, e-mail: c-dev-help@xxxxxxxxxxxxxxxxx

<Prev in Thread] Current Thread [Next in Thread>