mirror of
https://github.com/openssl/openssl.git
synced 2025-01-18 13:44:20 +08:00
apps/list.c: Check the result of inserting a provider into provider's stack
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22492)
(cherry picked from commit 15b83e04a5
)
This commit is contained in:
parent
a2b1ab6100
commit
8286e63271
15
apps/list.c
15
apps/list.c
@ -1209,9 +1209,11 @@ static int provider_cmp(const OSSL_PROVIDER * const *a,
|
||||
static int collect_providers(OSSL_PROVIDER *provider, void *stack)
|
||||
{
|
||||
STACK_OF(OSSL_PROVIDER) *provider_stack = stack;
|
||||
|
||||
sk_OSSL_PROVIDER_push(provider_stack, provider);
|
||||
return 1;
|
||||
/*
|
||||
* If OK - result is the index of inserted data
|
||||
* Error - result is -1 or 0
|
||||
*/
|
||||
return sk_OSSL_PROVIDER_push(provider_stack, provider) > 0 ? 1 : 0;
|
||||
}
|
||||
|
||||
static void list_provider_info(void)
|
||||
@ -1226,8 +1228,13 @@ static void list_provider_info(void)
|
||||
BIO_printf(bio_err, "ERROR: Memory allocation\n");
|
||||
return;
|
||||
}
|
||||
|
||||
if (OSSL_PROVIDER_do_all(NULL, &collect_providers, providers) != 1) {
|
||||
BIO_printf(bio_err, "ERROR: Memory allocation\n");
|
||||
return;
|
||||
}
|
||||
|
||||
BIO_printf(bio_out, "Providers:\n");
|
||||
OSSL_PROVIDER_do_all(NULL, &collect_providers, providers);
|
||||
sk_OSSL_PROVIDER_sort(providers);
|
||||
for (i = 0; i < sk_OSSL_PROVIDER_num(providers); i++) {
|
||||
const OSSL_PROVIDER *prov = sk_OSSL_PROVIDER_value(providers, i);
|
||||
|
Loading…
Reference in New Issue
Block a user