mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-07-29 18:27:29 +02:00
Fix memory leak if the function is being called again because of a retry
This commit is contained in:
27
src/tls13.c
27
src/tls13.c
@ -8665,19 +8665,22 @@ static int SendTls13CertificateVerify(WOLFSSL* ssl)
|
||||
}
|
||||
EncodeSigAlg(ssl->options.hashAlgo, args->sigAlgo, args->verify);
|
||||
|
||||
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);
|
||||
}
|
||||
else {
|
||||
args->sigData = (byte*)XMALLOC(MAX_SIG_DATA_SZ, ssl->heap,
|
||||
DYNAMIC_TYPE_SIGNATURE);
|
||||
}
|
||||
if (args->sigData == NULL) {
|
||||
ERROR_OUT(MEMORY_E, exit_scv);
|
||||
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,
|
||||
DYNAMIC_TYPE_SIGNATURE);
|
||||
}
|
||||
if (args->sigData == NULL) {
|
||||
ERROR_OUT(MEMORY_E, exit_scv);
|
||||
}
|
||||
}
|
||||
|
||||
/* Create the data to be signed. */
|
||||
|
Reference in New Issue
Block a user