diff --git a/src/iisnode/cnodeprocessmanager.cpp b/src/iisnode/cnodeprocessmanager.cpp index ea29394c..4d02f263 100644 --- a/src/iisnode/cnodeprocessmanager.cpp +++ b/src/iisnode/cnodeprocessmanager.cpp @@ -135,11 +135,19 @@ int CNodeProcessManager::ExtractStickySessionsProcess( PCSTR pszCookie ) pEnd = pStart; while (*pEnd) /* Works because end-of-string and FALSE are identical. */ { + if((pEnd - pStart) >= sizeof(acProcess)) + { + break; + } pEnd++; } } - memcpy(acProcess, pStart, pEnd - pStart); // copy result - return atoi(acProcess); + + if((pEnd - pStart) < sizeof(acProcess)) + { + memcpy(acProcess, pStart, pEnd - pStart); // copy result + return atoi(acProcess); + } } } }