The branch master has been updated
via e34c66c6b07d69ec4df8e488976e28d851ad87e6 (commit)
from cdde7b49a4ded6ce25b348314a231b99ce884c06 (commit)
- Log -----------------------------------------------------------------
commit e34c66c6b07d69ec4df8e488976e28d851ad87e6
Author: Emilia Kasper <[email protected]>
Date: Tue Sep 1 16:31:55 2015 +0200
RT3754: check for NULL pointer
Fix both the caller to error out on malloc failure, as well as the
eventual callee to handle a NULL gracefully.
Reviewed-by: Viktor Dukhovni <[email protected]>
-----------------------------------------------------------------------
Summary of changes:
crypto/evp/p_lib.c | 2 +-
crypto/evp/pmeth_gn.c | 9 +++++++--
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/crypto/evp/p_lib.c b/crypto/evp/p_lib.c
index daa3d57..f07d7e5 100644
--- a/crypto/evp/p_lib.c
+++ b/crypto/evp/p_lib.c
@@ -261,7 +261,7 @@ int EVP_PKEY_set_type_str(EVP_PKEY *pkey, const char *str,
int len)
int EVP_PKEY_assign(EVP_PKEY *pkey, int type, void *key)
{
- if (!EVP_PKEY_set_type(pkey, type))
+ if (pkey == NULL || !EVP_PKEY_set_type(pkey, type))
return 0;
pkey->pkey.ptr = key;
return (key != NULL);
diff --git a/crypto/evp/pmeth_gn.c b/crypto/evp/pmeth_gn.c
index 705801f..9416e1a 100644
--- a/crypto/evp/pmeth_gn.c
+++ b/crypto/evp/pmeth_gn.c
@@ -96,12 +96,17 @@ int EVP_PKEY_paramgen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey)
return -1;
}
- if (!ppkey)
+ if (ppkey == NULL)
return -1;
- if (!*ppkey)
+ if (*ppkey == NULL)
*ppkey = EVP_PKEY_new();
+ if (*ppkey == NULL) {
+ EVPerr(EVP_F_EVP_PKEY_PARAMGEN, ERR_R_MALLOC_FAILURE);
+ return -1;
+ }
+
ret = ctx->pmeth->paramgen(ctx, *ppkey);
if (ret <= 0) {
EVP_PKEY_free(*ppkey);
_____
openssl-commits mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits