X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=crypto%2Fasn1%2Fx_cinf.c;h=339a110eefd62c4449f0a46d7c911ee67261a507;hb=6446e0c3c8286428374ec738ffdc859802bd3c92;hp=fb6122eea4bf02c9d590377d5f83bdd0e12cc670;hpb=a9be3af5ad4836f7e50f0546311ca90c717b861e;p=oweals%2Fopenssl.git diff --git a/crypto/asn1/x_cinf.c b/crypto/asn1/x_cinf.c index fb6122eea4..339a110eef 100644 --- a/crypto/asn1/x_cinf.c +++ b/crypto/asn1/x_cinf.c @@ -59,6 +59,7 @@ #include #include "cryptlib.h" #include +#include int i2d_X509_CINF(X509_CINF *a, unsigned char **pp) { @@ -74,7 +75,9 @@ int i2d_X509_CINF(X509_CINF *a, unsigned char **pp) M_ASN1_I2D_len(a->key, i2d_X509_PUBKEY); M_ASN1_I2D_len_IMP_opt(a->issuerUID, i2d_ASN1_BIT_STRING); M_ASN1_I2D_len_IMP_opt(a->subjectUID, i2d_ASN1_BIT_STRING); - M_ASN1_I2D_len_EXP_SEQUENCE_opt(a->extensions,i2d_X509_EXTENSION,3,V_ASN1_SEQUENCE,v2); + M_ASN1_I2D_len_EXP_SEQUENCE_opt_type(X509_EXTENSION,a->extensions, + i2d_X509_EXTENSION,3, + V_ASN1_SEQUENCE,v2); M_ASN1_I2D_seq_total(); @@ -87,7 +90,9 @@ int i2d_X509_CINF(X509_CINF *a, unsigned char **pp) M_ASN1_I2D_put(a->key, i2d_X509_PUBKEY); M_ASN1_I2D_put_IMP_opt(a->issuerUID, i2d_ASN1_BIT_STRING,1); M_ASN1_I2D_put_IMP_opt(a->subjectUID, i2d_ASN1_BIT_STRING,2); - M_ASN1_I2D_put_EXP_SEQUENCE_opt(a->extensions,i2d_X509_EXTENSION,3,V_ASN1_SEQUENCE,v2); + M_ASN1_I2D_put_EXP_SEQUENCE_opt_type(X509_EXTENSION,a->extensions, + i2d_X509_EXTENSION,3, + V_ASN1_SEQUENCE,v2); M_ASN1_I2D_finish(); } @@ -110,7 +115,7 @@ X509_CINF *d2i_X509_CINF(X509_CINF **a, unsigned char **pp, long length) { if (ret->version != NULL) { - ASN1_INTEGER_free(ret->version); + M_ASN1_INTEGER_free(ret->version); ret->version=NULL; } } @@ -124,12 +129,12 @@ X509_CINF *d2i_X509_CINF(X509_CINF **a, unsigned char **pp, long length) { if (ret->issuerUID != NULL) { - ASN1_BIT_STRING_free(ret->issuerUID); + M_ASN1_BIT_STRING_free(ret->issuerUID); ret->issuerUID=NULL; } if (ret->subjectUID != NULL) { - ASN1_BIT_STRING_free(ret->subjectUID); + M_ASN1_BIT_STRING_free(ret->subjectUID); ret->subjectUID=NULL; } M_ASN1_D2I_get_IMP_opt(ret->issuerUID,d2i_ASN1_BIT_STRING, 1, @@ -147,11 +152,13 @@ X509_CINF *d2i_X509_CINF(X509_CINF **a, unsigned char **pp, long length) #endif { if (ret->extensions != NULL) - while (sk_num(ret->extensions)) - X509_EXTENSION_free((X509_EXTENSION *) - sk_pop(ret->extensions)); - M_ASN1_D2I_get_EXP_set_opt(ret->extensions,d2i_X509_EXTENSION, - X509_EXTENSION_free,3,V_ASN1_SEQUENCE); + while (sk_X509_EXTENSION_num(ret->extensions)) + X509_EXTENSION_free( + sk_X509_EXTENSION_pop(ret->extensions)); + M_ASN1_D2I_get_EXP_set_opt_type(X509_EXTENSION,ret->extensions, + d2i_X509_EXTENSION, + X509_EXTENSION_free,3, + V_ASN1_SEQUENCE); } M_ASN1_D2I_Finish(a,X509_CINF_free,ASN1_F_D2I_X509_CINF); } @@ -163,7 +170,7 @@ X509_CINF *X509_CINF_new(void) M_ASN1_New_Malloc(ret,X509_CINF); ret->version=NULL; - M_ASN1_New(ret->serialNumber,ASN1_INTEGER_new); + M_ASN1_New(ret->serialNumber,M_ASN1_INTEGER_new); M_ASN1_New(ret->signature,X509_ALGOR_new); M_ASN1_New(ret->issuer,X509_NAME_new); M_ASN1_New(ret->validity,X509_VAL_new); @@ -179,16 +186,16 @@ X509_CINF *X509_CINF_new(void) void X509_CINF_free(X509_CINF *a) { if (a == NULL) return; - ASN1_INTEGER_free(a->version); - ASN1_INTEGER_free(a->serialNumber); + M_ASN1_INTEGER_free(a->version); + M_ASN1_INTEGER_free(a->serialNumber); X509_ALGOR_free(a->signature); X509_NAME_free(a->issuer); X509_VAL_free(a->validity); X509_NAME_free(a->subject); X509_PUBKEY_free(a->key); - ASN1_BIT_STRING_free(a->issuerUID); - ASN1_BIT_STRING_free(a->subjectUID); - sk_pop_free(a->extensions,X509_EXTENSION_free); - Free((char *)a); + M_ASN1_BIT_STRING_free(a->issuerUID); + M_ASN1_BIT_STRING_free(a->subjectUID); + sk_X509_EXTENSION_pop_free(a->extensions,X509_EXTENSION_free); + OPENSSL_free(a); }