summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/asn1/n_pkey.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/asn1/n_pkey.c')
-rw-r--r--src/lib/libcrypto/asn1/n_pkey.c25
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;
280err: 280err:
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)
331static void NETSCAPE_PKEY_free(NETSCAPE_PKEY *a) 331static 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
345static void *dummy=&dummy;
346# endif
347
341#endif 348#endif