diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2015-03-28 15:10:54 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2015-03-30 22:01:31 +0100 |
commit | e93c8748ab40d876285147e3112c7a520d68880e (patch) | |
tree | 189c788dcf2e364274cfd87c6b7c883836ac5bc2 /crypto/evp/p5_crpt.c | |
parent | 22f5bd3dd2a660f6f50ef86de78985b995c63a85 (diff) | |
download | openssl-e93c8748ab40d876285147e3112c7a520d68880e.zip openssl-e93c8748ab40d876285147e3112c7a520d68880e.tar.gz openssl-e93c8748ab40d876285147e3112c7a520d68880e.tar.bz2 |
Remove duplicate code.
Update code to use ASN1_TYPE_pack_sequence and ASN1_TYPE_unpack_sequence
instead of performing the same operation manually.
Reviewed-by: Rich Salz <rsalz@openssl.org>
Diffstat (limited to 'crypto/evp/p5_crpt.c')
-rw-r--r-- | crypto/evp/p5_crpt.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/crypto/evp/p5_crpt.c b/crypto/evp/p5_crpt.c index d06ab90..921006c 100644 --- a/crypto/evp/p5_crpt.c +++ b/crypto/evp/p5_crpt.c @@ -82,7 +82,6 @@ int PKCS5_PBE_keyivgen(EVP_CIPHER_CTX *cctx, const char *pass, int passlen, PBEPARAM *pbe; int saltlen, iter; unsigned char *salt; - const unsigned char *pbuf; int mdsize; int rv = 0; EVP_MD_CTX_init(&ctx); @@ -94,8 +93,8 @@ int PKCS5_PBE_keyivgen(EVP_CIPHER_CTX *cctx, const char *pass, int passlen, return 0; } - pbuf = param->value.sequence->data; - if (!(pbe = d2i_PBEPARAM(NULL, &pbuf, param->value.sequence->length))) { + pbe = ASN1_TYPE_unpack_sequence(ASN1_ITEM_rptr(PBEPARAM), param); + if (pbe == NULL) { EVPerr(EVP_F_PKCS5_PBE_KEYIVGEN, EVP_R_DECODE_ERROR); return 0; } |