diff options
Diffstat (limited to 'src/lib/libcrypto/pkcs12/p12_add.c')
-rw-r--r-- | src/lib/libcrypto/pkcs12/p12_add.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/lib/libcrypto/pkcs12/p12_add.c b/src/lib/libcrypto/pkcs12/p12_add.c index 1909f28506..27015dd8c3 100644 --- a/src/lib/libcrypto/pkcs12/p12_add.c +++ b/src/lib/libcrypto/pkcs12/p12_add.c | |||
@@ -148,7 +148,11 @@ PKCS7 *PKCS12_pack_p7data(STACK_OF(PKCS12_SAFEBAG) *sk) | |||
148 | /* Unpack SAFEBAGS from PKCS#7 data ContentInfo */ | 148 | /* Unpack SAFEBAGS from PKCS#7 data ContentInfo */ |
149 | STACK_OF(PKCS12_SAFEBAG) *PKCS12_unpack_p7data(PKCS7 *p7) | 149 | STACK_OF(PKCS12_SAFEBAG) *PKCS12_unpack_p7data(PKCS7 *p7) |
150 | { | 150 | { |
151 | if(!PKCS7_type_is_data(p7)) return NULL; | 151 | if(!PKCS7_type_is_data(p7)) |
152 | { | ||
153 | PKCS12err(PKCS12_F_PKCS12_UNPACK_P7DATA,PKCS12_R_CONTENT_TYPE_NOT_DATA); | ||
154 | return NULL; | ||
155 | } | ||
152 | return ASN1_item_unpack(p7->d.data, ASN1_ITEM_rptr(PKCS12_SAFEBAGS)); | 156 | return ASN1_item_unpack(p7->d.data, ASN1_ITEM_rptr(PKCS12_SAFEBAGS)); |
153 | } | 157 | } |
154 | 158 | ||
@@ -211,5 +215,10 @@ int PKCS12_pack_authsafes(PKCS12 *p12, STACK_OF(PKCS7) *safes) | |||
211 | 215 | ||
212 | STACK_OF(PKCS7) *PKCS12_unpack_authsafes(PKCS12 *p12) | 216 | STACK_OF(PKCS7) *PKCS12_unpack_authsafes(PKCS12 *p12) |
213 | { | 217 | { |
218 | if (!PKCS7_type_is_data(p12->authsafes)) | ||
219 | { | ||
220 | PKCS12err(PKCS12_F_PKCS12_UNPACK_AUTHSAFES,PKCS12_R_CONTENT_TYPE_NOT_DATA); | ||
221 | return NULL; | ||
222 | } | ||
214 | return ASN1_item_unpack(p12->authsafes->d.data, ASN1_ITEM_rptr(PKCS12_AUTHSAFES)); | 223 | return ASN1_item_unpack(p12->authsafes->d.data, ASN1_ITEM_rptr(PKCS12_AUTHSAFES)); |
215 | } | 224 | } |