diff options
| author | Jeffrey Walton <noloader@gmail.com> | 2017-05-09 00:58:42 -0400 |
|---|---|---|
| committer | Jeffrey Walton <noloader@gmail.com> | 2017-05-09 00:58:42 -0400 |
| commit | 8a177c58e692f8852199868ff4845deac55b461b (patch) | |
| tree | f776c284890cea526b8b4c70ed49d79fbfd68551 /filters.cpp | |
| parent | 6ca68e714bf164641a6ce768fdd572568cb02391 (diff) | |
| download | cryptopp-git-8a177c58e692f8852199868ff4845deac55b461b.tar.gz | |
Add validation for W3C_PADDING InitializeDerivedAndReturnNewSizes
This should have occurred with PR 368 or Commit 8e088b48654f
Diffstat (limited to 'filters.cpp')
| -rw-r--r-- | filters.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/filters.cpp b/filters.cpp index ca85edc7..0b4b2e2d 100644 --- a/filters.cpp +++ b/filters.cpp @@ -611,8 +611,14 @@ void StreamTransformationFilter::InitializeDerivedAndReturnNewSizes(const NameVa else
m_padding = padding;
- if (!isBlockCipher && (m_padding == PKCS_PADDING || m_padding == ONE_AND_ZEROS_PADDING))
- throw InvalidArgument("StreamTransformationFilter: PKCS_PADDING and ONE_AND_ZEROS_PADDING cannot be used with " + m_cipher.AlgorithmName());
+ if (!isBlockCipher && (m_padding == PKCS_PADDING))
+ throw InvalidArgument("StreamTransformationFilter: PKCS_PADDING cannot be used with " + m_cipher.AlgorithmName());
+
+ if (!isBlockCipher && (m_padding == W3C_PADDING))
+ throw InvalidArgument("StreamTransformationFilter: W3C_PADDING cannot be used with " + m_cipher.AlgorithmName());
+
+ if (!isBlockCipher && (m_padding == ONE_AND_ZEROS_PADDING))
+ throw InvalidArgument("StreamTransformationFilter: ONE_AND_ZEROS_PADDING cannot be used with " + m_cipher.AlgorithmName());
firstSize = 0;
blockSize = m_cipher.MandatoryBlockSize();
|
