X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fasn1%2Fx_x509.c;h=d6938f7da0ef3c5ba5df1a1bf83f8c9cc72199b8;hp=d80a5cbc013ae9b374209dc9c7d6c4d9f8a7f095;hb=ec577822f95a8bca0023c5c77cef1a4916822d4a;hpb=eda1f21f1af8b6f77327e7b37573af9c1ba73726 diff --git a/crypto/asn1/x_x509.c b/crypto/asn1/x_x509.c index d80a5cbc01..d6938f7da0 100644 --- a/crypto/asn1/x_x509.c +++ b/crypto/asn1/x_x509.c @@ -1,5 +1,5 @@ /* crypto/asn1/x_x509.c */ -/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written @@ -58,12 +58,12 @@ #include #include "cryptlib.h" -#include "evp.h" -#include "asn1_mac.h" +#include +#include /* - * ASN1err(ASN1_F_D2I_X509,ASN1_R_LENGTH_MISMATCH); - * ASN1err(ASN1_F_X509_NEW,ASN1_R_BAD_GET_OBJECT); + * ASN1err(ASN1_F_D2I_X509,ERR_R_ASN1_LENGTH_MISMATCH); + * ASN1err(ASN1_F_X509_NEW,ERR_R_BAD_GET_ASN1_OBJECT_CALL); */ static ASN1_METHOD meth={ @@ -72,14 +72,12 @@ static ASN1_METHOD meth={ (char *(*)())X509_new, (void (*)()) X509_free}; -ASN1_METHOD *X509_asn1_meth() +ASN1_METHOD *X509_asn1_meth(void) { return(&meth); } -int i2d_X509(a,pp) -X509 *a; -unsigned char **pp; +int i2d_X509(X509 *a, unsigned char **pp) { M_ASN1_I2D_vars(a); @@ -96,10 +94,7 @@ unsigned char **pp; M_ASN1_I2D_finish(); } -X509 *d2i_X509(a,pp,length) -X509 **a; -unsigned char **pp; -long length; +X509 *d2i_X509(X509 **a, unsigned char **pp, long length) { M_ASN1_D2I_vars(a,X509 *,X509_new); @@ -108,15 +103,16 @@ long length; M_ASN1_D2I_get(ret->cert_info,d2i_X509_CINF); M_ASN1_D2I_get(ret->sig_alg,d2i_X509_ALGOR); M_ASN1_D2I_get(ret->signature,d2i_ASN1_BIT_STRING); -if (ret->name != NULL) Free(ret->name); -ret->name=X509_NAME_oneline(ret->cert_info->subject,NULL,0); + if (ret->name != NULL) Free(ret->name); + ret->name=X509_NAME_oneline(ret->cert_info->subject,NULL,0); M_ASN1_D2I_Finish(a,X509_free,ASN1_F_D2I_X509); } -X509 *X509_new() +X509 *X509_new(void) { X509 *ret=NULL; + ASN1_CTX c; M_ASN1_New_Malloc(ret,X509); ret->references=1; @@ -129,14 +125,16 @@ X509 *X509_new() M_ASN1_New_Error(ASN1_F_X509_NEW); } -void X509_free(a) -X509 *a; +void X509_free(X509 *a) { int i; if (a == NULL) return; i=CRYPTO_add(&a->references,-1,CRYPTO_LOCK_X509); +#ifdef REF_PRINT + REF_PRINT("X509",a); +#endif if (i > 0) return; #ifdef REF_CHECK if (i < 0) @@ -146,9 +144,11 @@ X509 *a; } #endif + /* CRYPTO_free_ex_data(bio_meth,(char *)a,&a->ex_data); */ X509_CINF_free(a->cert_info); X509_ALGOR_free(a->sig_alg); ASN1_BIT_STRING_free(a->signature); + if (a->name != NULL) Free(a->name); Free((char *)a); }