summaryrefslogtreecommitdiffstats
path: root/crypto/params_dup.c
diff options
context:
space:
mode:
authorPauli <pauli@openssl.org>2022-01-10 11:36:24 +1100
committerPauli <pauli@openssl.org>2022-01-12 20:10:21 +1100
commita10a576090022e583a06271ceced8e38dd509657 (patch)
treee4ed25186c0f74848ffe04624c09bf206cfbb45f /crypto/params_dup.c
parent3ee3a2bd1e5763b0df5c0a2cba3b06edc26f5276 (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/params_dup.c')
-rw-r--r--crypto/params_dup.c12
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);