From 29658019d4900406fc2ba00ade841598e8f430cb Mon Sep 17 00:00:00 2001 From: Max Lv Date: Wed, 9 Nov 2016 08:58:51 +0800 Subject: [PATCH] Fix #930 --- src/encrypt.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/encrypt.c b/src/encrypt.c index 3c0e4aac..c91c31f9 100644 --- a/src/encrypt.c +++ b/src/encrypt.c @@ -436,7 +436,10 @@ int cipher_iv_size(const cipher_t *cipher) { #if defined(USE_CRYPTO_OPENSSL) - return cipher->iv_len; + if (cipher->info == NULL) + return cipher->iv_len; + else + return EVP_CIPHER_iv_length(cipher->info); #elif defined(USE_CRYPTO_POLARSSL) || defined(USE_CRYPTO_MBEDTLS) if (cipher == NULL) { return 0; @@ -449,7 +452,10 @@ int cipher_key_size(const cipher_t *cipher) { #if defined(USE_CRYPTO_OPENSSL) - return cipher->key_len; + if (cipher->info == NULL) + return cipher->key_len; + else + return EVP_CIPHER_key_length(cipher->info); #elif defined(USE_CRYPTO_POLARSSL) if (cipher == NULL) { return 0; @@ -510,6 +516,7 @@ bytes_to_key(const cipher_t *cipher, const digest_type_t *md, key[j] = md_buf[i]; } } + return nkey; #elif defined(USE_CRYPTO_POLARSSL)