Don't leak cert in case of failure
This commit is contained in:
parent
a607b4553d
commit
462a26c8c3
@ -635,14 +635,15 @@ int tls_do_handshake(rdpTls* tls, BOOL clientMode)
|
|||||||
if (!tls->Bindings)
|
if (!tls->Bindings)
|
||||||
{
|
{
|
||||||
fprintf(stderr, "%s: unable to retrieve bindings\n", __FUNCTION__);
|
fprintf(stderr, "%s: unable to retrieve bindings\n", __FUNCTION__);
|
||||||
return -1;
|
verify_status = -1;
|
||||||
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!crypto_cert_get_public_key(cert, &tls->PublicKey, &tls->PublicKeyLength))
|
if (!crypto_cert_get_public_key(cert, &tls->PublicKey, &tls->PublicKeyLength))
|
||||||
{
|
{
|
||||||
fprintf(stderr, "%s: crypto_cert_get_public_key failed to return the server public key.\n", __FUNCTION__);
|
fprintf(stderr, "%s: crypto_cert_get_public_key failed to return the server public key.\n", __FUNCTION__);
|
||||||
tls_free_certificate(cert);
|
verify_status = -1;
|
||||||
return -1;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Note: server-side NLA needs public keys (keys from us, the server) but no
|
/* Note: server-side NLA needs public keys (keys from us, the server) but no
|
||||||
@ -661,6 +662,7 @@ int tls_do_handshake(rdpTls* tls, BOOL clientMode)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
out:
|
||||||
tls_free_certificate(cert);
|
tls_free_certificate(cert);
|
||||||
|
|
||||||
return verify_status;
|
return verify_status;
|
||||||
|
Loading…
Reference in New Issue
Block a user