diff options
author | beck <> | 2002-06-07 03:45:34 +0000 |
---|---|---|
committer | beck <> | 2002-06-07 03:45:34 +0000 |
commit | 820a20ea2b5f97e4a8fb714fedf33edafd40740a (patch) | |
tree | 595b35cf9e1ff104d11fb8ab64ebb6a5c5f42755 /src/lib/libcrypto/asn1/x_pubkey.c | |
parent | d13d58e31ac54f9b283fe3ec100f31030e050fb4 (diff) | |
download | openbsd-820a20ea2b5f97e4a8fb714fedf33edafd40740a.tar.gz openbsd-820a20ea2b5f97e4a8fb714fedf33edafd40740a.tar.bz2 openbsd-820a20ea2b5f97e4a8fb714fedf33edafd40740a.zip |
Merge OpenSSL 0.9.7-stable-20020605,
correctly autogenerate obj_mac.h
Diffstat (limited to '')
-rw-r--r-- | src/lib/libcrypto/asn1/x_pubkey.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/lib/libcrypto/asn1/x_pubkey.c b/src/lib/libcrypto/asn1/x_pubkey.c index 55630294b6..d958540120 100644 --- a/src/lib/libcrypto/asn1/x_pubkey.c +++ b/src/lib/libcrypto/asn1/x_pubkey.c | |||
@@ -84,7 +84,7 @@ int X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey) | |||
84 | X509_PUBKEY *pk; | 84 | X509_PUBKEY *pk; |
85 | X509_ALGOR *a; | 85 | X509_ALGOR *a; |
86 | ASN1_OBJECT *o; | 86 | ASN1_OBJECT *o; |
87 | unsigned char *s,*p; | 87 | unsigned char *s,*p = NULL; |
88 | int i; | 88 | int i; |
89 | 89 | ||
90 | if (x == NULL) return(0); | 90 | if (x == NULL) return(0); |
@@ -119,7 +119,7 @@ int X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey) | |||
119 | dsa->write_params=0; | 119 | dsa->write_params=0; |
120 | ASN1_TYPE_free(a->parameter); | 120 | ASN1_TYPE_free(a->parameter); |
121 | i=i2d_DSAparams(dsa,NULL); | 121 | i=i2d_DSAparams(dsa,NULL); |
122 | p=(unsigned char *)OPENSSL_malloc(i); | 122 | if ((p=(unsigned char *)OPENSSL_malloc(i)) == NULL) goto err; |
123 | pp=p; | 123 | pp=p; |
124 | i2d_DSAparams(dsa,&pp); | 124 | i2d_DSAparams(dsa,&pp); |
125 | a->parameter=ASN1_TYPE_new(); | 125 | a->parameter=ASN1_TYPE_new(); |
@@ -136,7 +136,11 @@ int X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey) | |||
136 | } | 136 | } |
137 | 137 | ||
138 | if ((i=i2d_PublicKey(pkey,NULL)) <= 0) goto err; | 138 | if ((i=i2d_PublicKey(pkey,NULL)) <= 0) goto err; |
139 | if ((s=(unsigned char *)OPENSSL_malloc(i+1)) == NULL) goto err; | 139 | if ((s=(unsigned char *)OPENSSL_malloc(i+1)) == NULL) |
140 | { | ||
141 | X509err(X509_F_X509_PUBKEY_SET,ERR_R_MALLOC_FAILURE); | ||
142 | goto err; | ||
143 | } | ||
140 | p=s; | 144 | p=s; |
141 | i2d_PublicKey(pkey,&p); | 145 | i2d_PublicKey(pkey,&p); |
142 | if (!M_ASN1_BIT_STRING_set(pk->public_key,s,i)) goto err; | 146 | if (!M_ASN1_BIT_STRING_set(pk->public_key,s,i)) goto err; |