mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-07-31 19:24:42 +02:00
Merge pull request #6558 from anhu/wolfSSL_X509_NAME_heap
Allocate WOLFSSL_X509_NAME with heap hint.
This commit is contained in:
@@ -27382,7 +27382,7 @@ static int HashSkeData(WOLFSSL* ssl, enum wc_HashType hashType,
|
|||||||
ret = GetName(cert, SUBJECT, dnSz);
|
ret = GetName(cert, SUBJECT, dnSz);
|
||||||
|
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
if ((name = wolfSSL_X509_NAME_new()) == NULL)
|
if ((name = wolfSSL_X509_NAME_new_ex(cert->heap)) == NULL)
|
||||||
ret = MEMORY_ERROR;
|
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");
|
WOLFSSL_ENTER("wolfSSL_X509_NAME_free");
|
||||||
FreeX509Name(name);
|
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.
|
* 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_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);
|
DYNAMIC_TYPE_X509);
|
||||||
if (name != NULL) {
|
if (name != NULL) {
|
||||||
InitX509Name(name, 1, NULL);
|
InitX509Name(name, 1, heap);
|
||||||
}
|
}
|
||||||
return name;
|
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.
|
/* Creates a duplicate of a WOLFSSL_X509_NAME structure.
|
||||||
Returns a new WOLFSSL_X509_NAME structure or NULL on failure */
|
Returns a new WOLFSSL_X509_NAME structure or NULL on failure */
|
||||||
WOLFSSL_X509_NAME* wolfSSL_X509_NAME_dup(WOLFSSL_X509_NAME *name)
|
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;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(copy = wolfSSL_X509_NAME_new())) {
|
if (!(copy = wolfSSL_X509_NAME_new_ex(name->heap))) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -10734,8 +10738,8 @@ int wolfSSL_i2d_X509_NAME(WOLFSSL_X509_NAME* name, unsigned char** out)
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(tmp = wolfSSL_X509_NAME_new())) {
|
if (!(tmp = wolfSSL_X509_NAME_new_ex(cert->heap))) {
|
||||||
WOLFSSL_MSG("wolfSSL_X509_NAME_new error");
|
WOLFSSL_MSG("wolfSSL_X509_NAME_new_ex error");
|
||||||
goto cleanup;
|
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)) && \
|
#if (defined(OPENSSL_EXTRA) || defined(OPENSSL_EXTRA_X509_SMALL)) && \
|
||||||
!defined(WOLFCRYPT_ONLY)
|
!defined(WOLFCRYPT_ONLY)
|
||||||
dName = wolfSSL_X509_NAME_new();
|
dName = wolfSSL_X509_NAME_new_ex(cert->heap);
|
||||||
if (dName == NULL) {
|
if (dName == NULL) {
|
||||||
return MEMORY_E;
|
return MEMORY_E;
|
||||||
}
|
}
|
||||||
@@ -13325,7 +13325,7 @@ static int GetCertName(DecodedCert* cert, char* full, byte* hash, int nameType,
|
|||||||
#ifdef WOLFSSL_X509_NAME_AVAILABLE
|
#ifdef WOLFSSL_X509_NAME_AVAILABLE
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
/* Create an X509_NAME to hold data for OpenSSL compatability APIs. */
|
/* 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) {
|
if (dName == NULL) {
|
||||||
ret = MEMORY_E;
|
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,
|
WOLFSSL_API int wolfSSL_X509_NAME_cmp(const WOLFSSL_X509_NAME* x,
|
||||||
const WOLFSSL_X509_NAME* y);
|
const WOLFSSL_X509_NAME* y);
|
||||||
WOLFSSL_API WOLFSSL_X509_NAME* wolfSSL_X509_NAME_new(void);
|
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 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_X509_NAME_copy(WOLFSSL_X509_NAME* from, WOLFSSL_X509_NAME* to);
|
||||||
WOLFSSL_API int wolfSSL_check_private_key(const WOLFSSL* ssl);
|
WOLFSSL_API int wolfSSL_check_private_key(const WOLFSSL* ssl);
|
||||||
|
Reference in New Issue
Block a user