[mapguide-commits] r10130 - in branches/4.0/MgDev: Oem/dbxml/dbxml/src/dbxml Server/src/Common/Manager
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Tue Apr 1 05:10:46 PDT 2025
Author: jng
Date: 2025-04-01 05:10:45 -0700 (Tue, 01 Apr 2025)
New Revision: 10130
Modified:
branches/4.0/MgDev/Oem/dbxml/dbxml/src/dbxml/XmlInputStreamWrapper.hpp
branches/4.0/MgDev/Server/src/Common/Manager/ServerManager.cpp
branches/4.0/MgDev/Server/src/Common/Manager/WorkerThreadData.cpp
branches/4.0/MgDev/Server/src/Common/Manager/WorkerThreadData.h
Log:
Fix new/delete mismatches as reported by asan. This required a minor structural change of MgWorkerThreadData
Modified: branches/4.0/MgDev/Oem/dbxml/dbxml/src/dbxml/XmlInputStreamWrapper.hpp
===================================================================
--- branches/4.0/MgDev/Oem/dbxml/dbxml/src/dbxml/XmlInputStreamWrapper.hpp 2025-04-01 12:09:19 UTC (rev 10129)
+++ branches/4.0/MgDev/Oem/dbxml/dbxml/src/dbxml/XmlInputStreamWrapper.hpp 2025-04-01 12:10:45 UTC (rev 10130)
@@ -62,10 +62,14 @@
}
virtual ~XmlInputStreamWrapper() {
delete is_;
- if (publicId_)
- delete publicId_;
- if (systemId_)
- delete systemId_;
+ if (publicId_) {
+ XERCES_CPP_NAMESPACE_QUALIFIER
+ XMLString::release(&publicId_);
+ }
+ if (systemId_) {
+ XERCES_CPP_NAMESPACE_QUALIFIER
+ XMLString::release(&systemId_);
+ }
}
virtual XERCES_CPP_NAMESPACE_QUALIFIER BinInputStream *makeStream() const {
return new XmlBinStream(is_);
@@ -75,14 +79,18 @@
virtual const XMLCh *getSystemId() const { return systemId_; }
void setPublicId(const XMLCh* const id) {
- if (publicId_)
- delete publicId_;
+ if (publicId_) {
+ XERCES_CPP_NAMESPACE_QUALIFIER
+ XMLString::release(&publicId_);
+ }
publicId_ = XERCES_CPP_NAMESPACE_QUALIFIER
XMLString::replicate(id);
}
void setSystemId(const XMLCh* const id) {
- if (systemId_)
- delete systemId_;
+ if (systemId_) {
+ XERCES_CPP_NAMESPACE_QUALIFIER
+ XMLString::release(&systemId_);
+ }
systemId_ = XERCES_CPP_NAMESPACE_QUALIFIER
XMLString::replicate(id);
}
Modified: branches/4.0/MgDev/Server/src/Common/Manager/ServerManager.cpp
===================================================================
--- branches/4.0/MgDev/Server/src/Common/Manager/ServerManager.cpp 2025-04-01 12:09:19 UTC (rev 10129)
+++ branches/4.0/MgDev/Server/src/Common/Manager/ServerManager.cpp 2025-04-01 12:10:45 UTC (rev 10130)
@@ -1633,8 +1633,12 @@
{
// We want the worker thread pool to do some work for us
MgWorkerThreadData* wtd;
- ACE_NEW_NORETURN( wtd, MgWorkerThreadData( function ) );
+ ACE_NEW_MALLOC_NORETURN(wtd,
+ static_cast<MgWorkerThreadData *>(ACE_Allocator::instance()->malloc(sizeof(MgWorkerThreadData))),
+ MgWorkerThreadData());
+ wtd->SetFunction(function);
+
ACE_Message_Block* mb;
ACE_NEW_NORETURN( mb, ACE_Message_Block( wtd ) );
if(mb)
Modified: branches/4.0/MgDev/Server/src/Common/Manager/WorkerThreadData.cpp
===================================================================
--- branches/4.0/MgDev/Server/src/Common/Manager/WorkerThreadData.cpp 2025-04-01 12:09:19 UTC (rev 10129)
+++ branches/4.0/MgDev/Server/src/Common/Manager/WorkerThreadData.cpp 2025-04-01 12:10:45 UTC (rev 10130)
@@ -26,8 +26,8 @@
// <summary>
// The constructor for the MgWorkerThreadData object.
// </summary>
-MgWorkerThreadData::MgWorkerThreadData( void (*function)() ) :
- m_pFunction(function)
+MgWorkerThreadData::MgWorkerThreadData( ) :
+ m_pFunction(nullptr)
{
};
@@ -38,3 +38,7 @@
MgWorkerThreadData::~MgWorkerThreadData()
{
};
+
+void MgWorkerThreadData::SetFunction(void (*function)()) {
+ m_pFunction = function;
+}
Modified: branches/4.0/MgDev/Server/src/Common/Manager/WorkerThreadData.h
===================================================================
--- branches/4.0/MgDev/Server/src/Common/Manager/WorkerThreadData.h 2025-04-01 12:09:19 UTC (rev 10129)
+++ branches/4.0/MgDev/Server/src/Common/Manager/WorkerThreadData.h 2025-04-01 12:10:45 UTC (rev 10130)
@@ -27,12 +27,13 @@
///////////////////////////////////////////////////////////////////////
/// Constructors/Destructors
public:
- MgWorkerThreadData( void (*function)() );
+ MgWorkerThreadData();
virtual ~MgWorkerThreadData();
///////////////////////////////////////////////////////////////////////
/// Accessors
public:
+ void SetFunction(void (*function)());
void (*m_pFunction)();
///////////////////////////////////////////////////////////////////////
More information about the mapguide-commits
mailing list