oox/source/crypto/CryptTools.cxx | 10 ++++++++++ 1 file changed, 10 insertions(+)
New commits: commit 4e35c16ac29468ac8467da70cbe3c3a2685165ce Author: Caolán McNamara <caol...@redhat.com> Date: Wed Jan 3 20:13:28 2018 +0000 ofz#4929 ensure min input len for openssl ciphers openssl is not the default backend Change-Id: Id7bd77c1a12a15c0ebb4e7d758362c7778bfc2fd Reviewed-on: https://gerrit.libreoffice.org/47351 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Michael Stahl <mst...@redhat.com> diff --git a/oox/source/crypto/CryptTools.cxx b/oox/source/crypto/CryptTools.cxx index a80eaad63689..f1d4e9a8bf77 100644 --- a/oox/source/crypto/CryptTools.cxx +++ b/oox/source/crypto/CryptTools.cxx @@ -122,10 +122,20 @@ Decrypt::Decrypt(std::vector<sal_uInt8>& key, std::vector<sal_uInt8>& iv, Crypto const EVP_CIPHER* cipher = getCipher(type); + const size_t nMinKeySize = EVP_CIPHER_key_length(cipher); + if (key.size() < nMinKeySize) + key.resize(nMinKeySize, 0); + if (iv.empty()) EVP_DecryptInit_ex(&mContext, cipher, nullptr, key.data(), 0); else + { + const size_t nMinIVSize = EVP_CIPHER_iv_length(cipher); + if (iv.size() < nMinIVSize) + iv.resize(nMinIVSize, 0); + EVP_DecryptInit_ex(&mContext, cipher, nullptr, key.data(), iv.data()); + } EVP_CIPHER_CTX_set_padding(&mContext, 0); #endif
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits