summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/pkcs12/p12_sbag.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/pkcs12/p12_sbag.c')
-rw-r--r--src/lib/libcrypto/pkcs12/p12_sbag.c23
1 files changed, 15 insertions, 8 deletions
diff --git a/src/lib/libcrypto/pkcs12/p12_sbag.c b/src/lib/libcrypto/pkcs12/p12_sbag.c
index 1b3addece1..64ac32ee6f 100644
--- a/src/lib/libcrypto/pkcs12/p12_sbag.c
+++ b/src/lib/libcrypto/pkcs12/p12_sbag.c
@@ -81,8 +81,9 @@ int i2d_PKCS12_SAFEBAG(PKCS12_SAFEBAG *a, unsigned char **pp)
81 break; 81 break;
82 82
83 case NID_safeContentsBag: 83 case NID_safeContentsBag:
84 M_ASN1_I2D_len_EXP_SEQUENCE_opt (a->value.safes, 84 M_ASN1_I2D_len_EXP_SEQUENCE_opt_type
85 i2d_PKCS12_SAFEBAG, 0, V_ASN1_SEQUENCE, v); 85 (PKCS12_SAFEBAG, a->value.safes, i2d_PKCS12_SAFEBAG,
86 0, V_ASN1_SEQUENCE, v);
86 break; 87 break;
87 88
88 case NID_certBag: 89 case NID_certBag:
@@ -117,8 +118,9 @@ int i2d_PKCS12_SAFEBAG(PKCS12_SAFEBAG *a, unsigned char **pp)
117 break; 118 break;
118 119
119 case NID_safeContentsBag: 120 case NID_safeContentsBag:
120 M_ASN1_I2D_put_EXP_SEQUENCE_opt (a->value.safes, 121 M_ASN1_I2D_put_EXP_SEQUENCE_opt_type
121 i2d_PKCS12_SAFEBAG, 0, V_ASN1_SEQUENCE, v); 122 (PKCS12_SAFEBAG, a->value.safes, i2d_PKCS12_SAFEBAG,
123 0, V_ASN1_SEQUENCE, v);
122 break; 124 break;
123 125
124 case NID_certBag: 126 case NID_certBag:
@@ -175,9 +177,10 @@ PKCS12_SAFEBAG *d2i_PKCS12_SAFEBAG(PKCS12_SAFEBAG **a, unsigned char **pp,
175 break; 177 break;
176 178
177 case NID_safeContentsBag: 179 case NID_safeContentsBag:
178 M_ASN1_D2I_get_EXP_set_opt(ret->value.safes, 180 M_ASN1_D2I_get_EXP_set_opt_type
179 d2i_PKCS12_SAFEBAG, PKCS12_SAFEBAG_free, 181 (PKCS12_SAFEBAG, ret->value.safes,
180 0, V_ASN1_SEQUENCE); 182 d2i_PKCS12_SAFEBAG, PKCS12_SAFEBAG_free, 0,
183 V_ASN1_SEQUENCE);
181 break; 184 break;
182 185
183 case NID_certBag: 186 case NID_certBag:
@@ -223,5 +226,9 @@ void PKCS12_SAFEBAG_free (PKCS12_SAFEBAG *a)
223 226
224 ASN1_OBJECT_free (a->type); 227 ASN1_OBJECT_free (a->type);
225 sk_X509_ATTRIBUTE_pop_free (a->attrib, X509_ATTRIBUTE_free); 228 sk_X509_ATTRIBUTE_pop_free (a->attrib, X509_ATTRIBUTE_free);
226 Free (a); 229 OPENSSL_free (a);
227} 230}
231
232IMPLEMENT_STACK_OF(PKCS12_SAFEBAG)
233IMPLEMENT_ASN1_SET_OF(PKCS12_SAFEBAG)
234IMPLEMENT_PKCS12_STACK_OF(PKCS12_SAFEBAG)