Use safer sizeof variant in malloc
For a local variable:
TYPE *p;
Allocations like this are "risky":
p = OPENSSL_malloc(sizeof(TYPE));
if the type of p changes, and the malloc call isn't updated, you
could get memory corruption. Instead do this:
p = OPENSSL_malloc(sizeof(*p));
Also fixed a few memset() calls that I noticed while doing this.
Reviewed-by: Richard Levitte <levitte@openssl.org>
diff --git a/apps/cms.c b/apps/cms.c
index 79d0b8f..5eb5d2d 100644
--- a/apps/cms.c
+++ b/apps/cms.c
@@ -570,7 +570,7 @@
}
if (key_param == NULL || key_param->idx != keyidx) {
cms_key_param *nparam;
- nparam = app_malloc(sizeof *nparam, "key param buffer");
+ nparam = app_malloc(sizeof(*nparam), "key param buffer");
nparam->idx = keyidx;
if ((nparam->param = sk_OPENSSL_STRING_new_null()) == NULL)
goto end;