Merge pull request #4327 from JacobBarthelmeh/Compatibility-Layer-Part3

add implementation of AUTHORITY_INFO_ACCESS_free
This commit is contained in:
John Safranek 2021-08-27 09:27:34 -07:00 committed by GitHub
commit 8b79f77fb0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 18 deletions

View File

@ -20096,13 +20096,7 @@ void wolfSSL_sk_ACCESS_DESCRIPTION_pop_free(WOLFSSL_STACK* sk,
if (f)
f(sk->data.access);
else {
if(sk->data.access->method) {
wolfSSL_ASN1_OBJECT_free(sk->data.access->method);
}
if(sk->data.access->location) {
wolfSSL_GENERAL_NAME_free(sk->data.access->location);
}
wolfSSL_ACCESS_DESCRIPTION_free(sk->data.access);
}
sk->data.access = NULL;
}
@ -20114,6 +20108,18 @@ void wolfSSL_sk_ACCESS_DESCRIPTION_free(WOLFSSL_STACK* sk)
wolfSSL_sk_ACCESS_DESCRIPTION_pop_free(sk, NULL);
}
/* AUTHORITY_INFO_ACCESS object is a stack of ACCESS_DESCRIPTION objects,
* to free the stack the WOLFSSL_ACCESS_DESCRIPTION stack free function is
* used */
void wolfSSL_AUTHORITY_INFO_ACCESS_free(
WOLF_STACK_OF(WOLFSSL_ACCESS_DESCRIPTION)* sk)
{
WOLFSSL_ENTER("wolfSSL_AUTHORITY_INFO_ACCESS_free");
wolfSSL_sk_ACCESS_DESCRIPTION_pop_free(sk, NULL);
}
void wolfSSL_ACCESS_DESCRIPTION_free(WOLFSSL_ACCESS_DESCRIPTION* access)
{
WOLFSSL_ENTER("wolfSSL_ACCESS_DESCRIPTION_free");
@ -20124,6 +20130,7 @@ void wolfSSL_ACCESS_DESCRIPTION_free(WOLFSSL_ACCESS_DESCRIPTION* access)
wolfSSL_ASN1_OBJECT_free(access->method);
if (access->location)
wolfSSL_GENERAL_NAME_free(access->location);
XFREE(access, NULL, DYNAMIC_TYPE_X509_EXT);
/* access = NULL, don't try to access or double free it */
}
@ -20495,15 +20502,6 @@ int wolfSSL_sk_ACCESS_DESCRIPTION_num(WOLFSSL_STACK* sk)
return (int)sk->num;
}
#ifndef NO_WOLFSSL_STUB
/* similar to call to sk_ACCESS_DESCRIPTION_pop_free */
void wolfSSL_AUTHORITY_INFO_ACCESS_free(
WOLF_STACK_OF(WOLFSSL_ACCESS_DESCRIPTION)* sk)
{
WOLFSSL_STUB("wolfSSL_AUTHORITY_INFO_ACCESS_free");
(void)sk;
}
#endif
/* returns the node at index "idx", NULL if not found */
WOLFSSL_STACK* wolfSSL_sk_get_node(WOLFSSL_STACK* sk, int idx)

View File

@ -36515,7 +36515,10 @@ static void test_wolfSSL_GENERAL_NAME_print(void)
AssertIntEQ(XSTRNCMP((const char*)outbuf, uriStr, XSTRLEN(uriStr)), 0);
wolfSSL_sk_ACCESS_DESCRIPTION_pop_free(aia, NULL);
XFREE(ad, NULL, DYNAMIC_TYPE_X509_EXT);
aia = (AUTHORITY_INFO_ACCESS*)wolfSSL_X509V3_EXT_d2i(ext);
AssertNotNull(aia);
AUTHORITY_INFO_ACCESS_free(aia);
X509_free(x509);
/* test for GEN_IPADD */
@ -41113,7 +41116,6 @@ static void test_wolfSSL_X509V3_EXT(void) {
AssertIntEQ(actual, 0);
wolfSSL_sk_ACCESS_DESCRIPTION_pop_free(aia, NULL);
XFREE(ad, NULL, DYNAMIC_TYPE_X509_EXT);
#else
(void) aia; (void) ad; (void) adObj; (void) gn;
#endif