diff options
| author | Enji Cooper <ngie@FreeBSD.org> | 2025-05-07 21:18:24 +0000 | 
|---|---|---|
| committer | Enji Cooper <ngie@FreeBSD.org> | 2025-05-07 22:37:22 +0000 | 
| commit | 29536654cc41bf41b92dc836c47496dc6fe0b00c (patch) | |
| tree | 368a3c5b14e610bb5f6b71657f61a41e373eaf97 /crypto/params_dup.c | |
| parent | 1c34280346af8284acdc0eae39496811d37df25d (diff) | |
Diffstat (limited to 'crypto/params_dup.c')
| -rw-r--r-- | crypto/params_dup.c | 21 | 
1 files changed, 11 insertions, 10 deletions
| diff --git a/crypto/params_dup.c b/crypto/params_dup.c index bc1546fc53cb..769629bbf324 100644 --- a/crypto/params_dup.c +++ b/crypto/params_dup.c @@ -37,11 +37,8 @@ static int ossl_param_buf_alloc(OSSL_PARAM_BUF *out, size_t extra_blocks,      size_t sz = OSSL_PARAM_ALIGN_SIZE * (extra_blocks + out->blocks);      out->alloc = is_secure ? OPENSSL_secure_zalloc(sz) : OPENSSL_zalloc(sz); -    if (out->alloc == NULL) { -        ERR_raise(ERR_LIB_CRYPTO, is_secure ? CRYPTO_R_SECURE_MALLOC_FAILURE -                                            : ERR_R_MALLOC_FAILURE); +    if (out->alloc == NULL)          return 0; -    }      out->alloc_sz = sz;      out->cur = out->alloc + extra_blocks;      return 1; @@ -105,8 +102,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)); @@ -154,8 +153,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) { @@ -170,8 +171,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); @@ -179,10 +182,8 @@ OSSL_PARAM *OSSL_PARAM_merge(const OSSL_PARAM *p1, const OSSL_PARAM *p2)     /* Allocate enough space to store the merged parameters */      params = OPENSSL_zalloc((list1_sz + list2_sz + 1) * sizeof(*p1)); -    if (params == NULL) { -        ERR_raise(ERR_LIB_CRYPTO, ERR_R_MALLOC_FAILURE); +    if (params == NULL)          return NULL; -    }      dst = params;      p1cur = list1;      p2cur = list2; | 
