SecBSD's official ports repository
This commit is contained in:
commit
2c0afcbbf3
64331 changed files with 5339189 additions and 0 deletions
66
net/poco/patches/patch-Crypto_src_CipherImpl_cpp
Normal file
66
net/poco/patches/patch-Crypto_src_CipherImpl_cpp
Normal file
|
@ -0,0 +1,66 @@
|
|||
Index: Crypto/src/CipherImpl.cpp
|
||||
--- Crypto/src/CipherImpl.cpp.orig
|
||||
+++ Crypto/src/CipherImpl.cpp
|
||||
@@ -97,7 +97,7 @@ namespace
|
||||
|
||||
private:
|
||||
const EVP_CIPHER* _pCipher;
|
||||
- EVP_CIPHER_CTX _ctx;
|
||||
+ EVP_CIPHER_CTX* _ctx;
|
||||
ByteVec _key;
|
||||
ByteVec _iv;
|
||||
};
|
||||
@@ -112,8 +112,11 @@ namespace
|
||||
_key(key),
|
||||
_iv(iv)
|
||||
{
|
||||
+ _ctx = EVP_CIPHER_CTX_new();
|
||||
+ if (_ctx == NULL)
|
||||
+ throwError();
|
||||
EVP_CipherInit(
|
||||
- &_ctx,
|
||||
+ _ctx,
|
||||
_pCipher,
|
||||
&_key[0],
|
||||
_iv.empty() ? 0 : &_iv[0],
|
||||
@@ -123,19 +126,19 @@ namespace
|
||||
|
||||
CryptoTransformImpl::~CryptoTransformImpl()
|
||||
{
|
||||
- EVP_CIPHER_CTX_cleanup(&_ctx);
|
||||
+ EVP_CIPHER_CTX_free(_ctx);
|
||||
}
|
||||
|
||||
|
||||
std::size_t CryptoTransformImpl::blockSize() const
|
||||
{
|
||||
- return EVP_CIPHER_CTX_block_size(&_ctx);
|
||||
+ return EVP_CIPHER_CTX_block_size(_ctx);
|
||||
}
|
||||
|
||||
|
||||
int CryptoTransformImpl::setPadding(int padding)
|
||||
{
|
||||
- return EVP_CIPHER_CTX_set_padding(&_ctx, padding);
|
||||
+ return EVP_CIPHER_CTX_set_padding(_ctx, padding);
|
||||
}
|
||||
|
||||
|
||||
@@ -149,7 +152,7 @@ namespace
|
||||
|
||||
int outLen = static_cast<int>(outputLength);
|
||||
int rc = EVP_CipherUpdate(
|
||||
- &_ctx,
|
||||
+ _ctx,
|
||||
output,
|
||||
&outLen,
|
||||
input,
|
||||
@@ -173,7 +176,7 @@ namespace
|
||||
// Use the '_ex' version that does not perform implicit cleanup since we
|
||||
// will call EVP_CIPHER_CTX_cleanup() from the dtor as there is no
|
||||
// guarantee that finalize() will be called if an error occurred.
|
||||
- int rc = EVP_CipherFinal_ex(&_ctx, output, &len);
|
||||
+ int rc = EVP_CipherFinal_ex(_ctx, output, &len);
|
||||
|
||||
if (rc == 0)
|
||||
throwError();
|
Loading…
Add table
Add a link
Reference in a new issue