diff options
Diffstat (limited to 'src/lib/libssl/src/crypto/pkcs12/p12_decr.c')
-rw-r--r-- | src/lib/libssl/src/crypto/pkcs12/p12_decr.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/lib/libssl/src/crypto/pkcs12/p12_decr.c b/src/lib/libssl/src/crypto/pkcs12/p12_decr.c index 74c961a92b..b5684a83ba 100644 --- a/src/lib/libssl/src/crypto/pkcs12/p12_decr.c +++ b/src/lib/libssl/src/crypto/pkcs12/p12_decr.c | |||
@@ -113,14 +113,13 @@ unsigned char * PKCS12_pbe_crypt(X509_ALGOR *algor, const char *pass, | |||
113 | void * PKCS12_item_decrypt_d2i(X509_ALGOR *algor, const ASN1_ITEM *it, | 113 | void * PKCS12_item_decrypt_d2i(X509_ALGOR *algor, const ASN1_ITEM *it, |
114 | const char *pass, int passlen, ASN1_OCTET_STRING *oct, int zbuf) | 114 | const char *pass, int passlen, ASN1_OCTET_STRING *oct, int zbuf) |
115 | { | 115 | { |
116 | unsigned char *out; | 116 | unsigned char *out, *p; |
117 | const unsigned char *p; | ||
118 | void *ret; | 117 | void *ret; |
119 | int outlen; | 118 | int outlen; |
120 | 119 | ||
121 | if (!PKCS12_pbe_crypt(algor, pass, passlen, oct->data, oct->length, | 120 | if (!PKCS12_pbe_crypt(algor, pass, passlen, oct->data, oct->length, |
122 | &out, &outlen, 0)) { | 121 | &out, &outlen, 0)) { |
123 | PKCS12err(PKCS12_F_PKCS12_ITEM_DECRYPT_D2I,PKCS12_R_PKCS12_PBE_CRYPT_ERROR); | 122 | PKCS12err(PKCS12_F_PKCS12_DECRYPT_D2I,PKCS12_R_PKCS12_PBE_CRYPT_ERROR); |
124 | return NULL; | 123 | return NULL; |
125 | } | 124 | } |
126 | p = out; | 125 | p = out; |
@@ -138,7 +137,7 @@ void * PKCS12_item_decrypt_d2i(X509_ALGOR *algor, const ASN1_ITEM *it, | |||
138 | #endif | 137 | #endif |
139 | ret = ASN1_item_d2i(NULL, &p, outlen, it); | 138 | ret = ASN1_item_d2i(NULL, &p, outlen, it); |
140 | if (zbuf) OPENSSL_cleanse(out, outlen); | 139 | if (zbuf) OPENSSL_cleanse(out, outlen); |
141 | if(!ret) PKCS12err(PKCS12_F_PKCS12_ITEM_DECRYPT_D2I,PKCS12_R_DECODE_ERROR); | 140 | if(!ret) PKCS12err(PKCS12_F_PKCS12_DECRYPT_D2I,PKCS12_R_DECODE_ERROR); |
142 | OPENSSL_free(out); | 141 | OPENSSL_free(out); |
143 | return ret; | 142 | return ret; |
144 | } | 143 | } |
@@ -155,17 +154,17 @@ ASN1_OCTET_STRING *PKCS12_item_i2d_encrypt(X509_ALGOR *algor, const ASN1_ITEM *i | |||
155 | unsigned char *in = NULL; | 154 | unsigned char *in = NULL; |
156 | int inlen; | 155 | int inlen; |
157 | if (!(oct = M_ASN1_OCTET_STRING_new ())) { | 156 | if (!(oct = M_ASN1_OCTET_STRING_new ())) { |
158 | PKCS12err(PKCS12_F_PKCS12_ITEM_I2D_ENCRYPT,ERR_R_MALLOC_FAILURE); | 157 | PKCS12err(PKCS12_F_PKCS12_I2D_ENCRYPT,ERR_R_MALLOC_FAILURE); |
159 | return NULL; | 158 | return NULL; |
160 | } | 159 | } |
161 | inlen = ASN1_item_i2d(obj, &in, it); | 160 | inlen = ASN1_item_i2d(obj, &in, it); |
162 | if (!in) { | 161 | if (!in) { |
163 | PKCS12err(PKCS12_F_PKCS12_ITEM_I2D_ENCRYPT,PKCS12_R_ENCODE_ERROR); | 162 | PKCS12err(PKCS12_F_PKCS12_I2D_ENCRYPT,PKCS12_R_ENCODE_ERROR); |
164 | return NULL; | 163 | return NULL; |
165 | } | 164 | } |
166 | if (!PKCS12_pbe_crypt(algor, pass, passlen, in, inlen, &oct->data, | 165 | if (!PKCS12_pbe_crypt(algor, pass, passlen, in, inlen, &oct->data, |
167 | &oct->length, 1)) { | 166 | &oct->length, 1)) { |
168 | PKCS12err(PKCS12_F_PKCS12_ITEM_I2D_ENCRYPT,PKCS12_R_ENCRYPT_ERROR); | 167 | PKCS12err(PKCS12_F_PKCS12_I2D_ENCRYPT,PKCS12_R_ENCRYPT_ERROR); |
169 | OPENSSL_free(in); | 168 | OPENSSL_free(in); |
170 | return NULL; | 169 | return NULL; |
171 | } | 170 | } |