forked from wolfSSL/wolfssl
Adding sk_free support for CONF_VALUE
This commit is contained in:
30
src/ssl.c
30
src/ssl.c
@ -25842,6 +25842,9 @@ void wolfSSL_sk_free(WOLFSSL_STACK* sk)
|
|||||||
case STACK_TYPE_X509_NAME:
|
case STACK_TYPE_X509_NAME:
|
||||||
wolfSSL_sk_X509_NAME_free(sk);
|
wolfSSL_sk_X509_NAME_free(sk);
|
||||||
break;
|
break;
|
||||||
|
case STACK_TYPE_CONF_VALUE:
|
||||||
|
wolfSSL_sk_CONF_VALUE_free(sk);
|
||||||
|
break;
|
||||||
#endif
|
#endif
|
||||||
default:
|
default:
|
||||||
wolfSSL_sk_ASN1_OBJECT_free(sk);
|
wolfSSL_sk_ASN1_OBJECT_free(sk);
|
||||||
@ -25907,6 +25910,33 @@ void wolfSSL_sk_pop_free(WOLF_STACK_OF(WOLFSSL_ASN1_OBJECT)* sk,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(OPENSSL_ALL)
|
||||||
|
/* Free the structure for WOLFSSL_CONF_VALUE stack
|
||||||
|
*
|
||||||
|
* sk stack to free nodes in
|
||||||
|
*/
|
||||||
|
void wolfSSL_sk_CONF_VALUE_free(WOLF_STACK_OF(WOLFSSL_CONF_VALUE)* sk)
|
||||||
|
{
|
||||||
|
WOLFSSL_STACK* node;
|
||||||
|
WOLFSSL_STACK* tmp;
|
||||||
|
WOLFSSL_ENTER("wolfSSL_sk_CONF_VALUE_free");
|
||||||
|
|
||||||
|
if (sk == NULL)
|
||||||
|
return;
|
||||||
|
|
||||||
|
/* parse through stack freeing each node */
|
||||||
|
node = sk->next;
|
||||||
|
while (node) {
|
||||||
|
tmp = node;
|
||||||
|
node = node->next;
|
||||||
|
XFREE(tmp, NULL, DYNAMIC_TYPE_OPENSSL);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* free head of stack */
|
||||||
|
XFREE(sk, NULL, DYNAMIC_TYPE_ASN1);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Creates and returns a new null stack. */
|
/* Creates and returns a new null stack. */
|
||||||
WOLFSSL_STACK* wolfSSL_sk_new_null(void)
|
WOLFSSL_STACK* wolfSSL_sk_new_null(void)
|
||||||
{
|
{
|
||||||
|
@ -34,6 +34,8 @@ WOLFSSL_API void wolfSSL_sk_free(WOLFSSL_STACK *);
|
|||||||
WOLFSSL_API void wolfSSL_sk_GENERIC_free(WOLFSSL_STACK *);
|
WOLFSSL_API void wolfSSL_sk_GENERIC_free(WOLFSSL_STACK *);
|
||||||
WOLFSSL_API int wolfSSL_sk_GENERIC_push(WOLFSSL_STACK *sk, void *data);
|
WOLFSSL_API int wolfSSL_sk_GENERIC_push(WOLFSSL_STACK *sk, void *data);
|
||||||
WOLFSSL_API void wolfSSL_sk_pop_free(WOLFSSL_STACK *st, void (*func) (void *));
|
WOLFSSL_API void wolfSSL_sk_pop_free(WOLFSSL_STACK *st, void (*func) (void *));
|
||||||
|
WOLFSSL_API
|
||||||
|
void wolfSSL_sk_CONF_VALUE_free(WOLF_STACK_OF(WOLFSSL_CONF_VALUE)* sk);
|
||||||
WOLFSSL_API WOLFSSL_STACK *wolfSSL_sk_new_null(void);
|
WOLFSSL_API WOLFSSL_STACK *wolfSSL_sk_new_null(void);
|
||||||
WOLFSSL_API int wolfSSL_sk_push(WOLFSSL_STACK *st, const void *data);
|
WOLFSSL_API int wolfSSL_sk_push(WOLFSSL_STACK *st, const void *data);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user