diff options
Diffstat (limited to 'src/lib/libcrypto/asn1/n_pkey.c')
-rw-r--r-- | src/lib/libcrypto/asn1/n_pkey.c | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/src/lib/libcrypto/asn1/n_pkey.c b/src/lib/libcrypto/asn1/n_pkey.c index cdc0d8b7c4..d804986b73 100644 --- a/src/lib/libcrypto/asn1/n_pkey.c +++ b/src/lib/libcrypto/asn1/n_pkey.c | |||
@@ -139,7 +139,7 @@ int i2d_Netscape_RSA(RSA *a, unsigned char **pp, int (*cb)()) | |||
139 | } | 139 | } |
140 | 140 | ||
141 | if (pkey->private_key->data != NULL) | 141 | if (pkey->private_key->data != NULL) |
142 | Free((char *)pkey->private_key->data); | 142 | Free(pkey->private_key->data); |
143 | if ((pkey->private_key->data=(unsigned char *)Malloc(l[0])) == NULL) | 143 | if ((pkey->private_key->data=(unsigned char *)Malloc(l[0])) == NULL) |
144 | { | 144 | { |
145 | ASN1err(ASN1_F_I2D_NETSCAPE_RSA,ERR_R_MALLOC_FAILURE); | 145 | ASN1err(ASN1_F_I2D_NETSCAPE_RSA,ERR_R_MALLOC_FAILURE); |
@@ -205,10 +205,10 @@ RSA *d2i_Netscape_RSA(RSA **a, unsigned char **pp, long length, int (*cb)()) | |||
205 | (char *)os->data,os->length) != 0)) | 205 | (char *)os->data,os->length) != 0)) |
206 | { | 206 | { |
207 | ASN1err(ASN1_F_D2I_NETSCAPE_RSA,ASN1_R_PRIVATE_KEY_HEADER_MISSING); | 207 | ASN1err(ASN1_F_D2I_NETSCAPE_RSA,ASN1_R_PRIVATE_KEY_HEADER_MISSING); |
208 | ASN1_BIT_STRING_free(os); | 208 | M_ASN1_BIT_STRING_free(os); |
209 | goto err; | 209 | goto err; |
210 | } | 210 | } |
211 | ASN1_BIT_STRING_free(os); | 211 | M_ASN1_BIT_STRING_free(os); |
212 | c.q=c.p; | 212 | c.q=c.p; |
213 | if ((ret=d2i_Netscape_RSA_2(a,&c.p,c.slen,cb)) == NULL) goto err; | 213 | if ((ret=d2i_Netscape_RSA_2(a,&c.p,c.slen,cb)) == NULL) goto err; |
214 | c.slen-=(c.p-c.q); | 214 | c.slen-=(c.p-c.q); |
@@ -279,7 +279,7 @@ RSA *d2i_Netscape_RSA_2(RSA **a, unsigned char **pp, long length, | |||
279 | *pp=c.p; | 279 | *pp=c.p; |
280 | err: | 280 | err: |
281 | if (pkey != NULL) NETSCAPE_PKEY_free(pkey); | 281 | if (pkey != NULL) NETSCAPE_PKEY_free(pkey); |
282 | if (os != NULL) ASN1_BIT_STRING_free(os); | 282 | if (os != NULL) M_ASN1_BIT_STRING_free(os); |
283 | if (alg != NULL) X509_ALGOR_free(alg); | 283 | if (alg != NULL) X509_ALGOR_free(alg); |
284 | return(ret); | 284 | return(ret); |
285 | } | 285 | } |
@@ -321,9 +321,9 @@ static NETSCAPE_PKEY *NETSCAPE_PKEY_new(void) | |||
321 | ASN1_CTX c; | 321 | ASN1_CTX c; |
322 | 322 | ||
323 | M_ASN1_New_Malloc(ret,NETSCAPE_PKEY); | 323 | M_ASN1_New_Malloc(ret,NETSCAPE_PKEY); |
324 | M_ASN1_New(ret->version,ASN1_INTEGER_new); | 324 | M_ASN1_New(ret->version,M_ASN1_INTEGER_new); |
325 | M_ASN1_New(ret->algor,X509_ALGOR_new); | 325 | M_ASN1_New(ret->algor,X509_ALGOR_new); |
326 | M_ASN1_New(ret->private_key,ASN1_OCTET_STRING_new); | 326 | M_ASN1_New(ret->private_key,M_ASN1_OCTET_STRING_new); |
327 | return(ret); | 327 | return(ret); |
328 | M_ASN1_New_Error(ASN1_F_NETSCAPE_PKEY_NEW); | 328 | M_ASN1_New_Error(ASN1_F_NETSCAPE_PKEY_NEW); |
329 | } | 329 | } |
@@ -331,11 +331,18 @@ static NETSCAPE_PKEY *NETSCAPE_PKEY_new(void) | |||
331 | static void NETSCAPE_PKEY_free(NETSCAPE_PKEY *a) | 331 | static void NETSCAPE_PKEY_free(NETSCAPE_PKEY *a) |
332 | { | 332 | { |
333 | if (a == NULL) return; | 333 | if (a == NULL) return; |
334 | ASN1_INTEGER_free(a->version); | 334 | M_ASN1_INTEGER_free(a->version); |
335 | X509_ALGOR_free(a->algor); | 335 | X509_ALGOR_free(a->algor); |
336 | ASN1_OCTET_STRING_free(a->private_key); | 336 | M_ASN1_OCTET_STRING_free(a->private_key); |
337 | Free((char *)a); | 337 | Free(a); |
338 | } | 338 | } |
339 | 339 | ||
340 | #endif /* NO_RC4 */ | 340 | #endif /* NO_RC4 */ |
341 | |||
342 | #else /* !NO_RSA */ | ||
343 | |||
344 | # if PEDANTIC | ||
345 | static void *dummy=&dummy; | ||
346 | # endif | ||
347 | |||
341 | #endif | 348 | #endif |