Loading crypto/stack/safestack.h +5 −2 Original line number Diff line number Diff line Loading @@ -78,7 +78,8 @@ void sk_##type##_delete_ptr(STACK_OF(type) *sk,type *v); \ void sk_##type##_set_cmp_func(STACK_OF(type) *sk,int (*cmp)(type **,type **)); \ STACK_OF(type) *sk_##type##_dup(STACK_OF(type) *sk); \ void sk_##type##_pop_free(STACK_OF(type) *sk,void (*func)(type *)); \ type *sk_##type##_shift(STACK_OF(type) *sk); type *sk_##type##_shift(STACK_OF(type) *sk); \ type *sk_##type##_pop(STACK_OF(type) *sk); #define IMPLEMENT_STACK_OF(type) \ STACK_OF(type) *sk_##type##_new(int (*cmp)(type **,type **)) \ Loading Loading @@ -110,6 +111,8 @@ STACK_OF(type) *sk_##type##_dup(STACK_OF(type) *sk) \ void sk_##type##_pop_free(STACK_OF(type) *sk,void (*func)(type *)) \ { sk_pop_free((STACK *)sk,func); } \ type *sk_##type##_shift(STACK_OF(type) *sk) \ { return (type *)sk_shift((STACK *)sk); } { return (type *)sk_shift((STACK *)sk); } \ type *sk_##type##_pop(STACK_OF(type) *sk) \ { return (type *)sk_pop((STACK *)sk); } #endif /* ndef HEADER_SAFESTACK_H */ crypto/x509/x509.h +0 −6 Original line number Diff line number Diff line Loading @@ -847,10 +847,6 @@ int X509_EXTENSION_set_data(X509_EXTENSION *ex, ASN1_OBJECT * X509_EXTENSION_get_object(X509_EXTENSION *ex); ASN1_OCTET_STRING *X509_EXTENSION_get_data(X509_EXTENSION *ne); int X509_EXTENSION_get_critical(X509_EXTENSION *ex); ASN1_OCTET_STRING *X509v3_pack_string(ASN1_OCTET_STRING **ex,int type, unsigned char *bytes, int len); ASN1_STRING * X509v3_unpack_string(ASN1_STRING **ex,int type, ASN1_OCTET_STRING *os); int X509_verify_cert(X509_STORE_CTX *ctx); Loading Loading @@ -1179,8 +1175,6 @@ int X509_EXTENSION_set_data(); ASN1_OBJECT * X509_EXTENSION_get_object(); ASN1_OCTET_STRING *X509_EXTENSION_get_data(); int X509_EXTENSION_get_critical(); ASN1_OCTET_STRING *X509v3_pack_string(); ASN1_STRING * X509v3_unpack_string(); int X509_verify_cert(); char * X509_verify_cert_error_string(); Loading crypto/x509/x509_vfy.c +1 −0 Original line number Diff line number Diff line Loading @@ -635,3 +635,4 @@ void X509_STORE_CTX_set_chain(X509_STORE_CTX *ctx, STACK_OF(X509) *sk) IMPLEMENT_STACK_OF(X509) IMPLEMENT_ASN1_SET_OF(X509) IMPLEMENT_STACK_OF(X509_NAME) IMPLEMENT_STACK_OF(X509_ATTRIBUTE) crypto/x509v3/v3_akey.c +5 −5 Original line number Diff line number Diff line Loading @@ -141,7 +141,7 @@ void AUTHORITY_KEYID_free(AUTHORITY_KEYID *a) { if (a == NULL) return; ASN1_OCTET_STRING_free(a->keyid); sk_pop_free(a->issuer, GENERAL_NAME_free); sk_GENERAL_NAME_pop_free(a->issuer, GENERAL_NAME_free); ASN1_INTEGER_free (a->serial); Free ((char *)a); } Loading Loading @@ -182,7 +182,7 @@ int i; CONF_VALUE *cnf; ASN1_OCTET_STRING *ikeyid = NULL; X509_NAME *isname = NULL; STACK * gens = NULL; STACK_OF(GENERAL_NAME) * gens = NULL; GENERAL_NAME *gen = NULL; ASN1_INTEGER *serial = NULL; X509_EXTENSION *ext; Loading Loading @@ -216,7 +216,7 @@ cert = ctx->issuer_cert; if(keyid) { i = X509_get_ext_by_NID(cert, NID_subject_key_identifier, -1); if((i >= 0) && (ext = X509_get_ext(cert, i))) ikeyid = (ASN1_OCTET_STRING *) X509V3_EXT_d2i(ext); ikeyid = X509V3_EXT_d2i(ext); if(keyid==2 && !ikeyid) { X509V3err(X509V3_F_V2I_AUTHORITY_KEYID,X509V3_R_UNABLE_TO_GET_ISSUER_KEYID); return NULL; Loading @@ -235,8 +235,8 @@ if((issuer && !ikeyid) || (issuer == 2)) { if(!(akeyid = AUTHORITY_KEYID_new())) goto err; if(isname) { if(!(gens = sk_new(NULL)) || !(gen = GENERAL_NAME_new()) || !sk_push(gens, (char *)gen)) { if(!(gens = sk_GENERAL_NAME_new(NULL)) || !(gen = GENERAL_NAME_new()) || !sk_GENERAL_NAME_push(gens, gen)) { X509V3err(X509V3_F_V2I_AUTHORITY_KEYID,ERR_R_MALLOC_FAILURE); goto err; } Loading crypto/x509v3/v3_alt.c +38 −37 Original line number Diff line number Diff line Loading @@ -62,10 +62,10 @@ #include "x509v3.h" #ifndef NOPROTO static STACK *v2i_subject_alt(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK *nval); static STACK *v2i_issuer_alt(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK *nval); static int copy_email(X509V3_CTX *ctx, STACK *gens); static int copy_issuer(X509V3_CTX *ctx, STACK *gens); static STACK_OF(GENERAL_NAME) *v2i_subject_alt(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK *nval); static STACK_OF(GENERAL_NAME) *v2i_issuer_alt(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK *nval); static int copy_email(X509V3_CTX *ctx, STACK_OF(GENERAL_NAME) *gens); static int copy_issuer(X509V3_CTX *ctx, STACK_OF(GENERAL_NAME) *gens); #else static STACK *v2i_issuer_alt(); static STACK *v2i_subject_alt(); Loading Loading @@ -95,12 +95,13 @@ NULL, NULL, NULL}, EXT_END }; STACK *i2v_GENERAL_NAMES(X509V3_EXT_METHOD *method, STACK *gens, STACK *ret) STACK *i2v_GENERAL_NAMES(X509V3_EXT_METHOD *method, STACK_OF(GENERAL_NAME) *gens, STACK *ret) { int i; GENERAL_NAME *gen; for(i = 0; i < sk_num(gens); i++) { gen = (GENERAL_NAME *)sk_value(gens, i); for(i = 0; i < sk_GENERAL_NAME_num(gens); i++) { gen = sk_GENERAL_NAME_value(gens, i); ret = i2v_GENERAL_NAME(method, gen, ret); } return ret; Loading Loading @@ -161,13 +162,13 @@ STACK *i2v_GENERAL_NAME(X509V3_EXT_METHOD *method, GENERAL_NAME *gen, return ret; } static STACK *v2i_issuer_alt(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK *nval) static STACK_OF(GENERAL_NAME) *v2i_issuer_alt(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK *nval) { STACK *gens = NULL; STACK_OF(GENERAL_NAME) *gens = NULL; CONF_VALUE *cnf; int i; if(!(gens = sk_new(NULL))) { if(!(gens = sk_GENERAL_NAME_new(NULL))) { X509V3err(X509V3_F_V2I_GENERAL_NAMES,ERR_R_MALLOC_FAILURE); return NULL; } Loading @@ -180,21 +181,21 @@ static STACK *v2i_issuer_alt(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, GENERAL_NAME *gen; if(!(gen = v2i_GENERAL_NAME(method, ctx, cnf))) goto err; sk_push(gens, (char *)gen); sk_GENERAL_NAME_push(gens, gen); } } return gens; err: sk_pop_free(gens, GENERAL_NAME_free); sk_GENERAL_NAME_pop_free(gens, GENERAL_NAME_free); return NULL; } /* Append subject altname of issuer to issuer alt name of subject */ static int copy_issuer(X509V3_CTX *ctx, STACK *gens) static int copy_issuer(X509V3_CTX *ctx, STACK_OF(GENERAL_NAME) *gens) { STACK *ialt; char *gen; STACK_OF(GENERAL_NAME) *ialt; GENERAL_NAME *gen; X509_EXTENSION *ext; int i; if(ctx && (ctx->flags == CTX_TEST)) return 1; Loading @@ -205,19 +206,19 @@ static int copy_issuer(X509V3_CTX *ctx, STACK *gens) i = X509_get_ext_by_NID(ctx->issuer_cert, NID_subject_alt_name, -1); if(i < 0) return 1; if(!(ext = X509_get_ext(ctx->issuer_cert, i)) || !(ialt = (STACK *) X509V3_EXT_d2i(ext)) ) { !(ialt = X509V3_EXT_d2i(ext)) ) { X509V3err(X509V3_F_COPY_ISSUER,X509V3_R_ISSUER_DECODE_ERROR); goto err; } for(i = 0; i < sk_num(ialt); i++) { gen = sk_value(ialt, i); if(!sk_push(gens, gen)) { for(i = 0; i < sk_GENERAL_NAME_num(ialt); i++) { gen = sk_GENERAL_NAME_value(ialt, i); if(!sk_GENERAL_NAME_push(gens, gen)) { X509V3err(X509V3_F_COPY_ISSUER,ERR_R_MALLOC_FAILURE); goto err; } } sk_free(ialt); sk_GENERAL_NAME_free(ialt); return 1; Loading @@ -226,13 +227,13 @@ static int copy_issuer(X509V3_CTX *ctx, STACK *gens) } static STACK *v2i_subject_alt(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK *nval) static STACK_OF(GENERAL_NAME) *v2i_subject_alt(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK *nval) { STACK *gens = NULL; STACK_OF(GENERAL_NAME) *gens = NULL; CONF_VALUE *cnf; int i; if(!(gens = sk_new(NULL))) { if(!(gens = sk_GENERAL_NAME_new(NULL))) { X509V3err(X509V3_F_V2I_GENERAL_NAMES,ERR_R_MALLOC_FAILURE); return NULL; } Loading @@ -245,12 +246,12 @@ static STACK *v2i_subject_alt(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, GENERAL_NAME *gen; if(!(gen = v2i_GENERAL_NAME(method, ctx, cnf))) goto err; sk_push(gens, (char *)gen); sk_GENERAL_NAME_push(gens, gen); } } return gens; err: sk_pop_free(gens, GENERAL_NAME_free); sk_GENERAL_NAME_pop_free(gens, GENERAL_NAME_free); return NULL; } Loading @@ -258,7 +259,7 @@ static STACK *v2i_subject_alt(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, * GENERAL_NAMES */ static int copy_email(X509V3_CTX *ctx, STACK *gens) static int copy_email(X509V3_CTX *ctx, STACK_OF(GENERAL_NAME) *gens) { X509_NAME *nm; ASN1_IA5STRING *email = NULL; Loading Loading @@ -287,7 +288,7 @@ static int copy_email(X509V3_CTX *ctx, STACK *gens) gen->d.ia5 = email; email = NULL; gen->type = GEN_EMAIL; if(!sk_push(gens, (char *)gen)) { if(!sk_GENERAL_NAME_push(gens, gen)) { X509V3err(X509V3_F_COPY_EMAIL,ERR_R_MALLOC_FAILURE); goto err; } Loading @@ -304,25 +305,25 @@ static int copy_email(X509V3_CTX *ctx, STACK *gens) } STACK *v2i_GENERAL_NAMES(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK *nval) STACK_OF(GENERAL_NAME) *v2i_GENERAL_NAMES(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK *nval) { GENERAL_NAME *gen; STACK *gens = NULL; STACK_OF(GENERAL_NAME) *gens = NULL; CONF_VALUE *cnf; int i; if(!(gens = sk_new(NULL))) { if(!(gens = sk_GENERAL_NAME_new(NULL))) { X509V3err(X509V3_F_V2I_GENERAL_NAMES,ERR_R_MALLOC_FAILURE); return NULL; } for(i = 0; i < sk_num(nval); i++) { cnf = (CONF_VALUE *)sk_value(nval, i); if(!(gen = v2i_GENERAL_NAME(method, ctx, cnf))) goto err; sk_push(gens, (char *)gen); sk_GENERAL_NAME_push(gens, gen); } return gens; err: sk_pop_free(gens, GENERAL_NAME_free); sk_GENERAL_NAME_pop_free(gens, GENERAL_NAME_free); return NULL; } Loading Loading
crypto/stack/safestack.h +5 −2 Original line number Diff line number Diff line Loading @@ -78,7 +78,8 @@ void sk_##type##_delete_ptr(STACK_OF(type) *sk,type *v); \ void sk_##type##_set_cmp_func(STACK_OF(type) *sk,int (*cmp)(type **,type **)); \ STACK_OF(type) *sk_##type##_dup(STACK_OF(type) *sk); \ void sk_##type##_pop_free(STACK_OF(type) *sk,void (*func)(type *)); \ type *sk_##type##_shift(STACK_OF(type) *sk); type *sk_##type##_shift(STACK_OF(type) *sk); \ type *sk_##type##_pop(STACK_OF(type) *sk); #define IMPLEMENT_STACK_OF(type) \ STACK_OF(type) *sk_##type##_new(int (*cmp)(type **,type **)) \ Loading Loading @@ -110,6 +111,8 @@ STACK_OF(type) *sk_##type##_dup(STACK_OF(type) *sk) \ void sk_##type##_pop_free(STACK_OF(type) *sk,void (*func)(type *)) \ { sk_pop_free((STACK *)sk,func); } \ type *sk_##type##_shift(STACK_OF(type) *sk) \ { return (type *)sk_shift((STACK *)sk); } { return (type *)sk_shift((STACK *)sk); } \ type *sk_##type##_pop(STACK_OF(type) *sk) \ { return (type *)sk_pop((STACK *)sk); } #endif /* ndef HEADER_SAFESTACK_H */
crypto/x509/x509.h +0 −6 Original line number Diff line number Diff line Loading @@ -847,10 +847,6 @@ int X509_EXTENSION_set_data(X509_EXTENSION *ex, ASN1_OBJECT * X509_EXTENSION_get_object(X509_EXTENSION *ex); ASN1_OCTET_STRING *X509_EXTENSION_get_data(X509_EXTENSION *ne); int X509_EXTENSION_get_critical(X509_EXTENSION *ex); ASN1_OCTET_STRING *X509v3_pack_string(ASN1_OCTET_STRING **ex,int type, unsigned char *bytes, int len); ASN1_STRING * X509v3_unpack_string(ASN1_STRING **ex,int type, ASN1_OCTET_STRING *os); int X509_verify_cert(X509_STORE_CTX *ctx); Loading Loading @@ -1179,8 +1175,6 @@ int X509_EXTENSION_set_data(); ASN1_OBJECT * X509_EXTENSION_get_object(); ASN1_OCTET_STRING *X509_EXTENSION_get_data(); int X509_EXTENSION_get_critical(); ASN1_OCTET_STRING *X509v3_pack_string(); ASN1_STRING * X509v3_unpack_string(); int X509_verify_cert(); char * X509_verify_cert_error_string(); Loading
crypto/x509/x509_vfy.c +1 −0 Original line number Diff line number Diff line Loading @@ -635,3 +635,4 @@ void X509_STORE_CTX_set_chain(X509_STORE_CTX *ctx, STACK_OF(X509) *sk) IMPLEMENT_STACK_OF(X509) IMPLEMENT_ASN1_SET_OF(X509) IMPLEMENT_STACK_OF(X509_NAME) IMPLEMENT_STACK_OF(X509_ATTRIBUTE)
crypto/x509v3/v3_akey.c +5 −5 Original line number Diff line number Diff line Loading @@ -141,7 +141,7 @@ void AUTHORITY_KEYID_free(AUTHORITY_KEYID *a) { if (a == NULL) return; ASN1_OCTET_STRING_free(a->keyid); sk_pop_free(a->issuer, GENERAL_NAME_free); sk_GENERAL_NAME_pop_free(a->issuer, GENERAL_NAME_free); ASN1_INTEGER_free (a->serial); Free ((char *)a); } Loading Loading @@ -182,7 +182,7 @@ int i; CONF_VALUE *cnf; ASN1_OCTET_STRING *ikeyid = NULL; X509_NAME *isname = NULL; STACK * gens = NULL; STACK_OF(GENERAL_NAME) * gens = NULL; GENERAL_NAME *gen = NULL; ASN1_INTEGER *serial = NULL; X509_EXTENSION *ext; Loading Loading @@ -216,7 +216,7 @@ cert = ctx->issuer_cert; if(keyid) { i = X509_get_ext_by_NID(cert, NID_subject_key_identifier, -1); if((i >= 0) && (ext = X509_get_ext(cert, i))) ikeyid = (ASN1_OCTET_STRING *) X509V3_EXT_d2i(ext); ikeyid = X509V3_EXT_d2i(ext); if(keyid==2 && !ikeyid) { X509V3err(X509V3_F_V2I_AUTHORITY_KEYID,X509V3_R_UNABLE_TO_GET_ISSUER_KEYID); return NULL; Loading @@ -235,8 +235,8 @@ if((issuer && !ikeyid) || (issuer == 2)) { if(!(akeyid = AUTHORITY_KEYID_new())) goto err; if(isname) { if(!(gens = sk_new(NULL)) || !(gen = GENERAL_NAME_new()) || !sk_push(gens, (char *)gen)) { if(!(gens = sk_GENERAL_NAME_new(NULL)) || !(gen = GENERAL_NAME_new()) || !sk_GENERAL_NAME_push(gens, gen)) { X509V3err(X509V3_F_V2I_AUTHORITY_KEYID,ERR_R_MALLOC_FAILURE); goto err; } Loading
crypto/x509v3/v3_alt.c +38 −37 Original line number Diff line number Diff line Loading @@ -62,10 +62,10 @@ #include "x509v3.h" #ifndef NOPROTO static STACK *v2i_subject_alt(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK *nval); static STACK *v2i_issuer_alt(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK *nval); static int copy_email(X509V3_CTX *ctx, STACK *gens); static int copy_issuer(X509V3_CTX *ctx, STACK *gens); static STACK_OF(GENERAL_NAME) *v2i_subject_alt(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK *nval); static STACK_OF(GENERAL_NAME) *v2i_issuer_alt(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK *nval); static int copy_email(X509V3_CTX *ctx, STACK_OF(GENERAL_NAME) *gens); static int copy_issuer(X509V3_CTX *ctx, STACK_OF(GENERAL_NAME) *gens); #else static STACK *v2i_issuer_alt(); static STACK *v2i_subject_alt(); Loading Loading @@ -95,12 +95,13 @@ NULL, NULL, NULL}, EXT_END }; STACK *i2v_GENERAL_NAMES(X509V3_EXT_METHOD *method, STACK *gens, STACK *ret) STACK *i2v_GENERAL_NAMES(X509V3_EXT_METHOD *method, STACK_OF(GENERAL_NAME) *gens, STACK *ret) { int i; GENERAL_NAME *gen; for(i = 0; i < sk_num(gens); i++) { gen = (GENERAL_NAME *)sk_value(gens, i); for(i = 0; i < sk_GENERAL_NAME_num(gens); i++) { gen = sk_GENERAL_NAME_value(gens, i); ret = i2v_GENERAL_NAME(method, gen, ret); } return ret; Loading Loading @@ -161,13 +162,13 @@ STACK *i2v_GENERAL_NAME(X509V3_EXT_METHOD *method, GENERAL_NAME *gen, return ret; } static STACK *v2i_issuer_alt(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK *nval) static STACK_OF(GENERAL_NAME) *v2i_issuer_alt(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK *nval) { STACK *gens = NULL; STACK_OF(GENERAL_NAME) *gens = NULL; CONF_VALUE *cnf; int i; if(!(gens = sk_new(NULL))) { if(!(gens = sk_GENERAL_NAME_new(NULL))) { X509V3err(X509V3_F_V2I_GENERAL_NAMES,ERR_R_MALLOC_FAILURE); return NULL; } Loading @@ -180,21 +181,21 @@ static STACK *v2i_issuer_alt(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, GENERAL_NAME *gen; if(!(gen = v2i_GENERAL_NAME(method, ctx, cnf))) goto err; sk_push(gens, (char *)gen); sk_GENERAL_NAME_push(gens, gen); } } return gens; err: sk_pop_free(gens, GENERAL_NAME_free); sk_GENERAL_NAME_pop_free(gens, GENERAL_NAME_free); return NULL; } /* Append subject altname of issuer to issuer alt name of subject */ static int copy_issuer(X509V3_CTX *ctx, STACK *gens) static int copy_issuer(X509V3_CTX *ctx, STACK_OF(GENERAL_NAME) *gens) { STACK *ialt; char *gen; STACK_OF(GENERAL_NAME) *ialt; GENERAL_NAME *gen; X509_EXTENSION *ext; int i; if(ctx && (ctx->flags == CTX_TEST)) return 1; Loading @@ -205,19 +206,19 @@ static int copy_issuer(X509V3_CTX *ctx, STACK *gens) i = X509_get_ext_by_NID(ctx->issuer_cert, NID_subject_alt_name, -1); if(i < 0) return 1; if(!(ext = X509_get_ext(ctx->issuer_cert, i)) || !(ialt = (STACK *) X509V3_EXT_d2i(ext)) ) { !(ialt = X509V3_EXT_d2i(ext)) ) { X509V3err(X509V3_F_COPY_ISSUER,X509V3_R_ISSUER_DECODE_ERROR); goto err; } for(i = 0; i < sk_num(ialt); i++) { gen = sk_value(ialt, i); if(!sk_push(gens, gen)) { for(i = 0; i < sk_GENERAL_NAME_num(ialt); i++) { gen = sk_GENERAL_NAME_value(ialt, i); if(!sk_GENERAL_NAME_push(gens, gen)) { X509V3err(X509V3_F_COPY_ISSUER,ERR_R_MALLOC_FAILURE); goto err; } } sk_free(ialt); sk_GENERAL_NAME_free(ialt); return 1; Loading @@ -226,13 +227,13 @@ static int copy_issuer(X509V3_CTX *ctx, STACK *gens) } static STACK *v2i_subject_alt(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK *nval) static STACK_OF(GENERAL_NAME) *v2i_subject_alt(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK *nval) { STACK *gens = NULL; STACK_OF(GENERAL_NAME) *gens = NULL; CONF_VALUE *cnf; int i; if(!(gens = sk_new(NULL))) { if(!(gens = sk_GENERAL_NAME_new(NULL))) { X509V3err(X509V3_F_V2I_GENERAL_NAMES,ERR_R_MALLOC_FAILURE); return NULL; } Loading @@ -245,12 +246,12 @@ static STACK *v2i_subject_alt(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, GENERAL_NAME *gen; if(!(gen = v2i_GENERAL_NAME(method, ctx, cnf))) goto err; sk_push(gens, (char *)gen); sk_GENERAL_NAME_push(gens, gen); } } return gens; err: sk_pop_free(gens, GENERAL_NAME_free); sk_GENERAL_NAME_pop_free(gens, GENERAL_NAME_free); return NULL; } Loading @@ -258,7 +259,7 @@ static STACK *v2i_subject_alt(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, * GENERAL_NAMES */ static int copy_email(X509V3_CTX *ctx, STACK *gens) static int copy_email(X509V3_CTX *ctx, STACK_OF(GENERAL_NAME) *gens) { X509_NAME *nm; ASN1_IA5STRING *email = NULL; Loading Loading @@ -287,7 +288,7 @@ static int copy_email(X509V3_CTX *ctx, STACK *gens) gen->d.ia5 = email; email = NULL; gen->type = GEN_EMAIL; if(!sk_push(gens, (char *)gen)) { if(!sk_GENERAL_NAME_push(gens, gen)) { X509V3err(X509V3_F_COPY_EMAIL,ERR_R_MALLOC_FAILURE); goto err; } Loading @@ -304,25 +305,25 @@ static int copy_email(X509V3_CTX *ctx, STACK *gens) } STACK *v2i_GENERAL_NAMES(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK *nval) STACK_OF(GENERAL_NAME) *v2i_GENERAL_NAMES(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK *nval) { GENERAL_NAME *gen; STACK *gens = NULL; STACK_OF(GENERAL_NAME) *gens = NULL; CONF_VALUE *cnf; int i; if(!(gens = sk_new(NULL))) { if(!(gens = sk_GENERAL_NAME_new(NULL))) { X509V3err(X509V3_F_V2I_GENERAL_NAMES,ERR_R_MALLOC_FAILURE); return NULL; } for(i = 0; i < sk_num(nval); i++) { cnf = (CONF_VALUE *)sk_value(nval, i); if(!(gen = v2i_GENERAL_NAME(method, ctx, cnf))) goto err; sk_push(gens, (char *)gen); sk_GENERAL_NAME_push(gens, gen); } return gens; err: sk_pop_free(gens, GENERAL_NAME_free); sk_GENERAL_NAME_pop_free(gens, GENERAL_NAME_free); return NULL; } Loading