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:
@@ -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++) {
|
||||
|
||||
Reference in New Issue
Block a user