diff options
author | Pauli <pauli@openssl.org> | 2022-01-10 11:36:24 +1100 |
---|---|---|
committer | Pauli <pauli@openssl.org> | 2022-01-12 20:10:21 +1100 |
commit | a10a576090022e583a06271ceced8e38dd509657 (patch) | |
tree | e4ed25186c0f74848ffe04624c09bf206cfbb45f /crypto | |
parent | 3ee3a2bd1e5763b0df5c0a2cba3b06edc26f5276 (diff) |
param dup: add errors to failure returns
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17440)
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/params_dup.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/crypto/params_dup.c b/crypto/params_dup.c index 6a58b52f65..530bc530cc 100644 --- a/crypto/params_dup.c +++ b/crypto/params_dup.c @@ -106,8 +106,10 @@ OSSL_PARAM *OSSL_PARAM_dup(const OSSL_PARAM *src) OSSL_PARAM *last, *dst; int param_count = 1; /* Include terminator in the count */ - if (src == NULL) + if (src == NULL) { + ERR_raise(ERR_LIB_CRYPTO, ERR_R_PASSED_NULL_PARAMETER); return NULL; + } memset(buf, 0, sizeof(buf)); @@ -155,8 +157,10 @@ OSSL_PARAM *OSSL_PARAM_merge(const OSSL_PARAM *p1, const OSSL_PARAM *p2) size_t list1_sz = 0, list2_sz = 0; int diff; - if (p1 == NULL && p2 == NULL) + if (p1 == NULL && p2 == NULL) { + ERR_raise(ERR_LIB_CRYPTO, ERR_R_PASSED_NULL_PARAMETER); return NULL; + } /* Copy p1 to list1 */ if (p1 != NULL) { @@ -171,8 +175,10 @@ OSSL_PARAM *OSSL_PARAM_merge(const OSSL_PARAM *p1, const OSSL_PARAM *p2) list2[list2_sz++] = p; } list2[list2_sz] = NULL; - if (list1_sz == 0 && list2_sz == 0) + if (list1_sz == 0 && list2_sz == 0) { + ERR_raise(ERR_LIB_CRYPTO, CRYPTO_R_NO_PARAMS_TO_MERGE); return NULL; + } /* Sort the 2 lists */ qsort(list1, list1_sz, sizeof(OSSL_PARAM *), compare_params); |