1
0
mirror of https://github.com/SoftEtherVPN/SoftEtherVPN.git synced 2024-11-22 17:39:53 +03:00

Fix thread safety after #1751

This commit is contained in:
Yihong Wu 2023-02-02 06:53:30 +00:00
parent 11828be9e6
commit 025ebec4cc

View File

@ -3651,9 +3651,18 @@ bool PPPProcessEAPTlsResponse(PPP_SESSION *p, PPP_EAP *eap_packet, UINT eapSize)
if (p->Eap_MatchUserByCert)
{
HUB* hub = GetHub(p->Cedar, p->Eap_Identity.HubName);
HUB *hub;
bool found = false;
LockHubList(p->Cedar);
{
hub = GetHub(p->Cedar, p->Eap_Identity.HubName);
}
UnlockHubList(p->Cedar);
if (hub != NULL)
{
AcLock(hub);
{
USER* user = AcGetUserByCert(hub, p->Eap_TlsCtx.ClientCert.X);
if (user != NULL)
@ -3662,6 +3671,8 @@ bool PPPProcessEAPTlsResponse(PPP_SESSION *p, PPP_EAP *eap_packet, UINT eapSize)
found = true;
ReleaseUser(user);
}
}
AcUnlock(hub);
ReleaseHub(hub);
}