diff options
Diffstat (limited to 'crypto/params_from_text.c')
-rw-r--r-- | crypto/params_from_text.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/crypto/params_from_text.c b/crypto/params_from_text.c index 59cee5f115..71fa8aef92 100644 --- a/crypto/params_from_text.c +++ b/crypto/params_from_text.c @@ -24,7 +24,7 @@ static int prepare_from_text(const OSSL_PARAM *paramdefs, const char *key, const char *value, size_t value_n, /* Output parameters */ const OSSL_PARAM **paramdef, int *ishex, - size_t *buf_n, BIGNUM **tmpbn) + size_t *buf_n, BIGNUM **tmpbn, int *found) { const OSSL_PARAM *p; @@ -38,6 +38,8 @@ static int prepare_from_text(const OSSL_PARAM *paramdefs, const char *key, key += 3; p = *paramdef = OSSL_PARAM_locate_const(paramdefs, key); + if (found != NULL) + *found = p != NULL; if (p == NULL) return 0; @@ -163,7 +165,7 @@ static int construct_from_text(OSSL_PARAM *to, const OSSL_PARAM *paramdef, int OSSL_PARAM_allocate_from_text(OSSL_PARAM *to, const OSSL_PARAM *paramdefs, const char *key, const char *value, - size_t value_n) + size_t value_n, int *found) { const OSSL_PARAM *paramdef = NULL; int ishex = 0; @@ -176,7 +178,7 @@ int OSSL_PARAM_allocate_from_text(OSSL_PARAM *to, return 0; if (!prepare_from_text(paramdefs, key, value, value_n, - ¶mdef, &ishex, &buf_n, &tmpbn)) + ¶mdef, &ishex, &buf_n, &tmpbn, found)) return 0; if ((buf = OPENSSL_zalloc(buf_n > 0 ? buf_n : 1)) == NULL) { |