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