mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-09-29 11:16:33 +03:00
Fixed two crashing bugs: race condition when module was initialized and failing config commands in libapr.
This commit is contained in:
@@ -20,14 +20,17 @@
|
||||
// of CMyHttpModule for each request.
|
||||
class CMyHttpModuleFactory : public IHttpModuleFactory
|
||||
{
|
||||
CMyHttpModule * m_pModule;
|
||||
CMyHttpModule * m_pModule;
|
||||
CRITICAL_SECTION m_csLock;
|
||||
|
||||
public:
|
||||
CMyHttpModuleFactory()
|
||||
{
|
||||
m_pModule = NULL;
|
||||
|
||||
InitializeCriticalSection(&m_csLock);
|
||||
}
|
||||
|
||||
|
||||
virtual
|
||||
HRESULT
|
||||
GetHttpModule(
|
||||
@@ -43,6 +46,8 @@ public:
|
||||
goto Finished;
|
||||
}
|
||||
|
||||
EnterCriticalSection(&m_csLock);
|
||||
|
||||
if(m_pModule == NULL)
|
||||
{
|
||||
m_pModule = new CMyHttpModule();
|
||||
@@ -54,6 +59,8 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
LeaveCriticalSection(&m_csLock);
|
||||
|
||||
*ppModule = m_pModule;
|
||||
|
||||
Finished:
|
||||
|
Reference in New Issue
Block a user