mirror of
https://github.com/SoftEtherVPN/SoftEtherVPN.git
synced 2024-11-22 17:39:53 +03:00
Fixing a memory leak in SslCertVerifyCallback because of a duplicated callback
This commit is contained in:
parent
132926ee09
commit
8fb456f6a6
@ -5701,10 +5701,17 @@ int SslCertVerifyCallback(int preverify_ok, X509_STORE_CTX *ctx)
|
|||||||
if (cert != NULL)
|
if (cert != NULL)
|
||||||
{
|
{
|
||||||
X *tmpX = X509ToX(cert); // this only wraps cert, but we need to make a copy
|
X *tmpX = X509ToX(cert); // this only wraps cert, but we need to make a copy
|
||||||
|
if (!CompareX(tmpX, clientcert->X))
|
||||||
|
{
|
||||||
X* copyX = CloneX(tmpX);
|
X* copyX = CloneX(tmpX);
|
||||||
|
if (clientcert->X != NULL)
|
||||||
|
{
|
||||||
|
FreeX(clientcert->X);
|
||||||
|
}
|
||||||
|
clientcert->X = copyX;
|
||||||
|
}
|
||||||
tmpX->do_not_free = true; // do not release inner X509 object
|
tmpX->do_not_free = true; // do not release inner X509 object
|
||||||
FreeX(tmpX);
|
FreeX(tmpX);
|
||||||
clientcert->X = copyX;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user