Add and use OPENSSL_zalloc
There are many places (nearly 50) where we malloc and then memset. Add an OPENSSL_zalloc routine to encapsulate that. (Missed one conversion; thanks Richard) Also fixes GH328 Reviewed-by: Richard Levitte <levitte@openssl.org>
This commit is contained in:
@@ -1020,10 +1020,9 @@ static int bn2crparam(const BIGNUM *a, struct crparam *crp)
|
||||
bits = BN_num_bits(a);
|
||||
bytes = BN_num_bytes(a);
|
||||
|
||||
b = OPENSSL_malloc(bytes);
|
||||
b = OPENSSL_zalloc(bytes);
|
||||
if (b == NULL)
|
||||
return (1);
|
||||
memset(b, 0, bytes);
|
||||
|
||||
crp->crp_p = (caddr_t) b;
|
||||
crp->crp_nbits = bits;
|
||||
|
||||
@@ -202,13 +202,12 @@ static void dynamic_data_ctx_free_func(void *parent, void *ptr,
|
||||
*/
|
||||
static int dynamic_set_data_ctx(ENGINE *e, dynamic_data_ctx **ctx)
|
||||
{
|
||||
dynamic_data_ctx *c = OPENSSL_malloc(sizeof(*c));
|
||||
dynamic_data_ctx *c = OPENSSL_zalloc(sizeof(*c));
|
||||
|
||||
if (!c) {
|
||||
ENGINEerr(ENGINE_F_DYNAMIC_SET_DATA_CTX, ERR_R_MALLOC_FAILURE);
|
||||
return 0;
|
||||
}
|
||||
memset(c, 0, sizeof(*c));
|
||||
c->dynamic_dso = NULL;
|
||||
c->v_check = NULL;
|
||||
c->bind_engine = NULL;
|
||||
|
||||
@@ -66,12 +66,11 @@ ENGINE *ENGINE_new(void)
|
||||
{
|
||||
ENGINE *ret;
|
||||
|
||||
ret = OPENSSL_malloc(sizeof(*ret));
|
||||
ret = OPENSSL_zalloc(sizeof(*ret));
|
||||
if (ret == NULL) {
|
||||
ENGINEerr(ENGINE_F_ENGINE_NEW, ERR_R_MALLOC_FAILURE);
|
||||
return NULL;
|
||||
}
|
||||
memset(ret, 0, sizeof(*ret));
|
||||
ret->struct_ref = 1;
|
||||
engine_ref_debug(ret, 0, 1)
|
||||
CRYPTO_new_ex_data(CRYPTO_EX_INDEX_ENGINE, ret, &ret->ex_data);
|
||||
|
||||
Reference in New Issue
Block a user