Merge pull request #6558 from anhu/wolfSSL_X509_NAME_heap
Allocate WOLFSSL_X509_NAME with heap hint.
This commit is contained in:
commit
9fc68f4a80
@ -27382,7 +27382,7 @@ static int HashSkeData(WOLFSSL* ssl, enum wc_HashType hashType,
|
||||
ret = GetName(cert, SUBJECT, dnSz);
|
||||
|
||||
if (ret == 0) {
|
||||
if ((name = wolfSSL_X509_NAME_new()) == NULL)
|
||||
if ((name = wolfSSL_X509_NAME_new_ex(cert->heap)) == NULL)
|
||||
ret = MEMORY_ERROR;
|
||||
}
|
||||
|
||||
|
20
src/x509.c
20
src/x509.c
@ -9477,7 +9477,7 @@ WOLF_STACK_OF(WOLFSSL_X509)* wolfSSL_X509_chain_up_ref(
|
||||
{
|
||||
WOLFSSL_ENTER("wolfSSL_X509_NAME_free");
|
||||
FreeX509Name(name);
|
||||
XFREE(name, NULL, DYNAMIC_TYPE_X509);
|
||||
XFREE(name, name->heap, DYNAMIC_TYPE_X509);
|
||||
}
|
||||
|
||||
|
||||
@ -9485,20 +9485,24 @@ WOLF_STACK_OF(WOLFSSL_X509)* wolfSSL_X509_chain_up_ref(
|
||||
*
|
||||
* returns NULL on failure, otherwise returns a new structure.
|
||||
*/
|
||||
WOLFSSL_X509_NAME* wolfSSL_X509_NAME_new(void)
|
||||
WOLFSSL_X509_NAME* wolfSSL_X509_NAME_new_ex(void *heap)
|
||||
{
|
||||
WOLFSSL_X509_NAME* name;
|
||||
|
||||
WOLFSSL_ENTER("wolfSSL_X509_NAME_new");
|
||||
WOLFSSL_ENTER("wolfSSL_X509_NAME_new_ex");
|
||||
|
||||
name = (WOLFSSL_X509_NAME*)XMALLOC(sizeof(WOLFSSL_X509_NAME), NULL,
|
||||
name = (WOLFSSL_X509_NAME*)XMALLOC(sizeof(WOLFSSL_X509_NAME), heap,
|
||||
DYNAMIC_TYPE_X509);
|
||||
if (name != NULL) {
|
||||
InitX509Name(name, 1, NULL);
|
||||
InitX509Name(name, 1, heap);
|
||||
}
|
||||
return name;
|
||||
}
|
||||
|
||||
WOLFSSL_X509_NAME* wolfSSL_X509_NAME_new(void) {
|
||||
return wolfSSL_X509_NAME_new_ex(NULL);
|
||||
}
|
||||
|
||||
/* Creates a duplicate of a WOLFSSL_X509_NAME structure.
|
||||
Returns a new WOLFSSL_X509_NAME structure or NULL on failure */
|
||||
WOLFSSL_X509_NAME* wolfSSL_X509_NAME_dup(WOLFSSL_X509_NAME *name)
|
||||
@ -9512,7 +9516,7 @@ WOLF_STACK_OF(WOLFSSL_X509)* wolfSSL_X509_chain_up_ref(
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (!(copy = wolfSSL_X509_NAME_new())) {
|
||||
if (!(copy = wolfSSL_X509_NAME_new_ex(name->heap))) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -10734,8 +10738,8 @@ int wolfSSL_i2d_X509_NAME(WOLFSSL_X509_NAME* name, unsigned char** out)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (!(tmp = wolfSSL_X509_NAME_new())) {
|
||||
WOLFSSL_MSG("wolfSSL_X509_NAME_new error");
|
||||
if (!(tmp = wolfSSL_X509_NAME_new_ex(cert->heap))) {
|
||||
WOLFSSL_MSG("wolfSSL_X509_NAME_new_ex error");
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
|
@ -12668,7 +12668,7 @@ static int GetCertName(DecodedCert* cert, char* full, byte* hash, int nameType,
|
||||
|
||||
#if (defined(OPENSSL_EXTRA) || defined(OPENSSL_EXTRA_X509_SMALL)) && \
|
||||
!defined(WOLFCRYPT_ONLY)
|
||||
dName = wolfSSL_X509_NAME_new();
|
||||
dName = wolfSSL_X509_NAME_new_ex(cert->heap);
|
||||
if (dName == NULL) {
|
||||
return MEMORY_E;
|
||||
}
|
||||
@ -13325,7 +13325,7 @@ static int GetCertName(DecodedCert* cert, char* full, byte* hash, int nameType,
|
||||
#ifdef WOLFSSL_X509_NAME_AVAILABLE
|
||||
if (ret == 0) {
|
||||
/* Create an X509_NAME to hold data for OpenSSL compatability APIs. */
|
||||
dName = wolfSSL_X509_NAME_new();
|
||||
dName = wolfSSL_X509_NAME_new_ex(cert->heap);
|
||||
if (dName == NULL) {
|
||||
ret = MEMORY_E;
|
||||
}
|
||||
|
@ -4226,6 +4226,7 @@ WOLFSSL_API WOLFSSL_X509_NAME_ENTRY *wolfSSL_X509_NAME_delete_entry(
|
||||
WOLFSSL_API int wolfSSL_X509_NAME_cmp(const WOLFSSL_X509_NAME* x,
|
||||
const WOLFSSL_X509_NAME* y);
|
||||
WOLFSSL_API WOLFSSL_X509_NAME* wolfSSL_X509_NAME_new(void);
|
||||
WOLFSSL_API WOLFSSL_X509_NAME* wolfSSL_X509_NAME_new_ex(void *heap);
|
||||
WOLFSSL_API WOLFSSL_X509_NAME* wolfSSL_X509_NAME_dup(WOLFSSL_X509_NAME* name);
|
||||
WOLFSSL_API int wolfSSL_X509_NAME_copy(WOLFSSL_X509_NAME* from, WOLFSSL_X509_NAME* to);
|
||||
WOLFSSL_API int wolfSSL_check_private_key(const WOLFSSL* ssl);
|
||||
|
Loading…
x
Reference in New Issue
Block a user