Fix memory leak if the function is being called again because of a retry

This commit is contained in:
Andras Fekete
2023-09-13 14:05:57 -04:00
parent 971df19c5c
commit 2f63eb070e

View File

@ -8665,12 +8665,14 @@ static int SendTls13CertificateVerify(WOLFSSL* ssl)
}
EncodeSigAlg(ssl->options.hashAlgo, args->sigAlgo, args->verify);
if (args->sigData == NULL) {
if (ssl->hsType == DYNAMIC_TYPE_RSA) {
int sigLen = MAX_SIG_DATA_SZ;
if (args->length > MAX_SIG_DATA_SZ)
sigLen = args->length;
args->sigData = (byte*)XMALLOC(sigLen, ssl->heap,
DYNAMIC_TYPE_SIGNATURE);
args->sigDataSz = sigLen;
}
else {
args->sigData = (byte*)XMALLOC(MAX_SIG_DATA_SZ, ssl->heap,
@ -8679,6 +8681,7 @@ static int SendTls13CertificateVerify(WOLFSSL* ssl)
if (args->sigData == NULL) {
ERROR_OUT(MEMORY_E, exit_scv);
}
}
/* Create the data to be signed. */
ret = CreateSigData(ssl, args->sigData, &args->sigDataSz, 0);