diff options
author | Simon Warta <[email protected]> | 2015-11-26 23:28:13 +0100 |
---|---|---|
committer | Simon Warta <[email protected]> | 2015-11-26 23:28:13 +0100 |
commit | 9b54e39d96b3d586cb3a790ddc9a9610b25a07bf (patch) | |
tree | 32724bd03797947b015a26127734095d23be5726 | |
parent | 07e18a8a4f6bc07c51be527ec47df324330ec6fa (diff) | |
parent | 73c879526f327d77138482c9bd1129060afcfca9 (diff) |
Merge pull request #320 from matejk/fix_crash_in_comp_filter
Fixed crash in compression filter when transform argument is null.
-rw-r--r-- | src/lib/filters/comp_filter.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/lib/filters/comp_filter.cpp b/src/lib/filters/comp_filter.cpp index 61ac16f38..f909db4a7 100644 --- a/src/lib/filters/comp_filter.cpp +++ b/src/lib/filters/comp_filter.cpp @@ -1,6 +1,7 @@ /* * Filter interface for compression * (C) 2014,2015 Jack Lloyd +* (C) 2015 Matej Kenda * * Botan is released under the Simplified BSD License (see license.txt) */ @@ -23,9 +24,15 @@ Decompression_Filter::Decompression_Filter(const std::string& type, size_t bs) : Compression_Decompression_Filter::Compression_Decompression_Filter(Transform* transform, size_t bs) : m_buffersize(std::max<size_t>(256, bs)), m_buffer(m_buffersize) { + if (!transform) + { + throw std::invalid_argument("Transform is null"); + } m_transform.reset(dynamic_cast<Compressor_Transform*>(transform)); if(!m_transform) + { throw std::invalid_argument("Transform " + transform->name() + " is not a compressor"); + } } std::string Compression_Decompression_Filter::name() const |