summaryrefslogtreecommitdiffstats
path: root/crypto/asn1/x_pkey.c
diff options
context:
space:
mode:
authorRich Salz <rsalz@akamai.com>2015-05-02 05:10:31 +0200
committerRich Salz <rsalz@openssl.org>2015-05-04 21:00:13 +0200
commitb4faea50c35d92a67d1369355b49cc3efba78406 (patch)
treecfebea69d625f936c9fd7281f1fa3eaa2fa38834 /crypto/asn1/x_pkey.c
parentRT2943: Check sizes if -iv and -K arguments (diff)
downloadopenssl-b4faea50c35d92a67d1369355b49cc3efba78406.tar.xz
openssl-b4faea50c35d92a67d1369355b49cc3efba78406.zip
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>
Diffstat (limited to 'crypto/asn1/x_pkey.c')
-rw-r--r--crypto/asn1/x_pkey.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/crypto/asn1/x_pkey.c b/crypto/asn1/x_pkey.c
index 59e002bd45..b01616fb8d 100644
--- a/crypto/asn1/x_pkey.c
+++ b/crypto/asn1/x_pkey.c
@@ -66,10 +66,10 @@ X509_PKEY *X509_PKEY_new(void)
{
X509_PKEY *ret = NULL;
- ret = OPENSSL_malloc(sizeof(X509_PKEY));
+ ret = OPENSSL_malloc(sizeof(*ret));
if (!ret)
goto err;
- memset(ret, 0, sizeof(X509_PKEY));
+ memset(ret, 0, sizeof(*ret));
ret->version = 0;
ret->enc_algor = X509_ALGOR_new();