char* pm0;\r
bResult = FALSE;\r
sha_memory((char*)Certificate, (uint32)(strlen(Certificate) * sizeof(char)), (uint32*)&Hash);\r
- for(i = 0; i < MAX_CERT_CACHE_HASH; i++)\r
+ i = 0;\r
+ while(i < MAX_CERT_CACHE_HASH)\r
{\r
if(memcmp(&CertificateCacheHash[i], &Hash, 20) == 0)\r
+ {\r
bResult = TRUE;\r
+ break;\r
+ }\r
+ i++;\r
}\r
if(!bResult)\r
{\r
}\r
EnterCriticalSection(&g_OpenSSLLock);\r
}\r
- if(ConfirmSSLCertificate(*ppSSL))\r
+ if(r)\r
{\r
- }\r
- else\r
- {\r
- DetachSSL(s);\r
- r = FALSE;\r
+ if(ConfirmSSLCertificate(*ppSSL))\r
+ {\r
+ }\r
+ else\r
+ {\r
+ LeaveCriticalSection(&g_OpenSSLLock);\r
+ DetachSSL(s);\r
+ r = FALSE;\r
+ EnterCriticalSection(&g_OpenSSLLock);\r
+ }\r
}\r
}\r
else\r
ppSSL = FindSSLPointerFromSocket(s);\r
LeaveCriticalSection(&g_OpenSSLLock);\r
if(!ppSSL)\r
- return TRUE;\r
+ return FALSE;\r
return TRUE;\r
}\r
\r