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>
This commit is contained in:
Rich Salz
2015-05-01 23:10:31 -04:00
committed by Rich Salz
parent 8920a7cd04
commit b4faea50c3
142 changed files with 278 additions and 283 deletions

View File

@@ -255,19 +255,16 @@ int OBJ_add_object(const ASN1_OBJECT *obj)
return (0);
if ((o = OBJ_dup(obj)) == NULL)
goto err;
if (!(ao[ADDED_NID] = OPENSSL_malloc(sizeof(ADDED_OBJ))))
if (!(ao[ADDED_NID] = OPENSSL_malloc(sizeof(*ao))))
goto err2;
if ((o->length != 0) && (obj->data != NULL))
if (!
(ao[ADDED_DATA] = OPENSSL_malloc(sizeof(ADDED_OBJ))))
if (!(ao[ADDED_DATA] = OPENSSL_malloc(sizeof(*ao))))
goto err2;
if (o->sn != NULL)
if (!
(ao[ADDED_SNAME] = OPENSSL_malloc(sizeof(ADDED_OBJ))))
if (!(ao[ADDED_SNAME] = OPENSSL_malloc(sizeof(*ao))))
goto err2;
if (o->ln != NULL)
if (!
(ao[ADDED_LNAME] = OPENSSL_malloc(sizeof(ADDED_OBJ))))
if (!(ao[ADDED_LNAME] = OPENSSL_malloc(sizeof(*ao))))
goto err2;
for (i = ADDED_DATA; i <= ADDED_NID; i++) {