diff --git a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/OutOfProcessRequestHandler.vcxproj b/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/OutOfProcessRequestHandler.vcxproj index 08cd979af8..3667f51481 100644 --- a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/OutOfProcessRequestHandler.vcxproj +++ b/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/OutOfProcessRequestHandler.vcxproj @@ -109,7 +109,7 @@ Windows true - kernel32.lib;user32.lib;advapi32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;ahadmin.lib;rpcrt4.lib;winhttp.lib;pdh.lib;ws2_32.lib;wbemuuid.lib;iphlpapi.lib;%(AdditionalDependencies) + kernel32.lib;user32.lib;nothrownew.obj;advapi32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;ahadmin.lib;rpcrt4.lib;winhttp.lib;pdh.lib;ws2_32.lib;wbemuuid.lib;iphlpapi.lib;%(AdditionalDependencies) Source.def @@ -141,7 +141,7 @@ Windows true - kernel32.lib;user32.lib;advapi32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;ahadmin.lib;rpcrt4.lib;winhttp.lib;pdh.lib;ws2_32.lib;wbemuuid.lib;iphlpapi.lib;%(AdditionalDependencies) + kernel32.lib;user32.lib;nothrownew.obj;advapi32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;ahadmin.lib;rpcrt4.lib;winhttp.lib;pdh.lib;ws2_32.lib;wbemuuid.lib;iphlpapi.lib;%(AdditionalDependencies) Source.def @@ -176,7 +176,7 @@ true true Source.def - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;ahadmin.lib;winhttp.lib;odbc32.lib;ws2_32.lib;odbccp32.lib;wbemuuid.lib;iphlpapi.lib;pdh.lib;rpcrt4.lib;%(AdditionalDependencies) + kernel32.lib;user32.lib;nothrownew.obj;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;ahadmin.lib;winhttp.lib;odbc32.lib;ws2_32.lib;odbccp32.lib;wbemuuid.lib;iphlpapi.lib;pdh.lib;rpcrt4.lib;%(AdditionalDependencies) @@ -210,7 +210,7 @@ true true Source.def - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;ahadmin.lib;rpcrt4.lib;winhttp.lib;pdh.lib;ws2_32.lib;wbemuuid.lib;iphlpapi.lib;%(AdditionalDependencies) + kernel32.lib;user32.lib;nothrownew.obj;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;ahadmin.lib;rpcrt4.lib;winhttp.lib;pdh.lib;ws2_32.lib;wbemuuid.lib;iphlpapi.lib;%(AdditionalDependencies) diff --git a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/outofprocess/forwardinghandler.cpp b/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/outofprocess/forwardinghandler.cpp index 1b3df88da0..149b06edef 100644 --- a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/outofprocess/forwardinghandler.cpp +++ b/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/outofprocess/forwardinghandler.cpp @@ -208,6 +208,11 @@ FORWARDING_HANDLER::OnExecuteRequestHandler() if (m_pDisconnect == NULL) { m_pDisconnect = new ASYNC_DISCONNECT_CONTEXT(); + if (m_pDisconnect == NULL) + { + hr = E_OUTOFMEMORY; + goto Failure; + } hr = pClientConnection->GetModuleContextContainer()-> SetConnectionModuleContext(m_pDisconnect, @@ -454,6 +459,11 @@ REQUEST_NOTIFICATION_STATUS // This should be the write completion of the 101 response. // m_pWebSocket = new WEBSOCKET_HANDLER(); + if (m_pWebSocket == NULL) + { + hr = E_OUTOFMEMORY; + goto Failure; + } hr = m_pWebSocket->ProcessRequest(this, m_pW3Context, m_hRequest, &fWebSocketUpgraded); if (fWebSocketUpgraded) @@ -708,6 +718,11 @@ HRESULT HRESULT hr = S_OK; sm_pAlloc = new ALLOC_CACHE_HANDLER; + if (sm_pAlloc == NULL) + { + hr = E_OUTOFMEMORY; + goto Finished; + } hr = sm_pAlloc->Initialize(sizeof(FORWARDING_HANDLER), 64); // nThreshold @@ -717,6 +732,11 @@ HRESULT } sm_pResponseHeaderHash = new RESPONSE_HEADER_HASH; + if (sm_pResponseHeaderHash == NULL) + { + hr = E_OUTOFMEMORY; + goto Finished; + } hr = sm_pResponseHeaderHash->Initialize(); if (FAILED(hr)) diff --git a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/outofprocess/outprocessapplication.cpp b/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/outofprocess/outprocessapplication.cpp index 3e6bb30299..356029efd3 100644 --- a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/outofprocess/outprocessapplication.cpp +++ b/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/outofprocess/outprocessapplication.cpp @@ -34,6 +34,11 @@ OUT_OF_PROCESS_APPLICATION::Initialize( if (m_pProcessManager == NULL) { m_pProcessManager = new PROCESS_MANAGER; + if (m_pProcessManager == NULL) + { + hr = E_OUTOFMEMORY; + goto Finished; + } hr = m_pProcessManager->Initialize(); if (FAILED(hr)) diff --git a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/outofprocess/processmanager.cxx b/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/outofprocess/processmanager.cxx index 7241362d31..7c75d65a0d 100644 --- a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/outofprocess/processmanager.cxx +++ b/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/outofprocess/processmanager.cxx @@ -123,6 +123,11 @@ PROCESS_MANAGER::GetProcess( { m_dwProcessesPerApplication = pConfig->QueryProcessesPerApplication(); m_ppServerProcessList = new SERVER_PROCESS*[m_dwProcessesPerApplication]; + if (m_ppServerProcessList == NULL) + { + hr = E_OUTOFMEMORY; + goto Finished; + } for (DWORD i = 0; i < m_dwProcessesPerApplication; ++i) { @@ -198,6 +203,12 @@ PROCESS_MANAGER::GetProcess( { pSelectedServerProcess = new SERVER_PROCESS(); + if (pSelectedServerProcess == NULL) + { + hr = E_OUTOFMEMORY; + goto Finished; + } + hr = pSelectedServerProcess->Initialize( this, //ProcessManager diff --git a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/outofprocess/serverprocess.cxx b/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/outofprocess/serverprocess.cxx index 4deea28d74..cedbd0ba12 100644 --- a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/outofprocess/serverprocess.cxx +++ b/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/outofprocess/serverprocess.cxx @@ -187,6 +187,11 @@ SERVER_PROCESS::SetupListenPort( } pEntry = new ENVIRONMENT_VAR_ENTRY(); + if (pEntry == NULL) + { + hr = E_OUTOFMEMORY; + goto Finished; + } if (FAILED(hr = pEntry->Initialize(ASPNETCORE_PORT_ENV_STR, buffer)) || FAILED(hr = pEnvironmentVarTable->InsertRecord(pEntry)) || @@ -237,6 +242,11 @@ SERVER_PROCESS::SetupAppPath( } pEntry = new ENVIRONMENT_VAR_ENTRY(); + if (pEntry == NULL) + { + hr = E_OUTOFMEMORY; + goto Finished; + } if (FAILED(hr = pEntry->Initialize(ASPNETCORE_APP_PATH_ENV_STR, m_struAppVirtualPath.QueryStr())) || FAILED(hr = pEnvironmentVarTable->InsertRecord(pEntry))) @@ -304,6 +314,11 @@ SERVER_PROCESS::SetupAppToken( } pEntry = new ENVIRONMENT_VAR_ENTRY(); + if (pEntry == NULL) + { + hr = E_OUTOFMEMORY; + goto Finished; + } if (FAILED(strAppToken.CopyA(m_straGuid.QueryStr())) || FAILED(hr = pEntry->Initialize(ASPNETCORE_APP_TOKEN_ENV_STR, strAppToken.QueryStr())) || @@ -443,6 +458,11 @@ SERVER_PROCESS::SetupCommandLine( dwBufferSize = strRelativePath.QueryCCH() + 1; pszFullPath = new WCHAR[dwBufferSize]; + if (pszFullPath == NULL) + { + hr = E_OUTOFMEMORY; + goto Finished; + } if (_wfullpath(pszFullPath, strRelativePath.QueryStr(), @@ -674,6 +694,11 @@ SERVER_PROCESS::PostStartCheck( if (m_pForwarderConnection == NULL) { m_pForwarderConnection = new FORWARDER_CONNECTION(); + if (m_pForwarderConnection == NULL) + { + hr = E_OUTOFMEMORY; + goto Finished; + } hr = m_pForwarderConnection->Initialize(m_dwPort); if (FAILED(hr))