mirror of
https://github.com/shadps4-emu/ext-cryptopp.git
synced 2024-11-23 09:59:42 +00:00
Clear Coverity finding CONSTANT_EXPRESSION_RESULT (CID 182772)
This may create a MSC warning about a conditional expression being constant
This commit is contained in:
parent
b61953a7a7
commit
42b7c4ea56
@ -99,11 +99,15 @@ protected:
|
||||
//! because the latter is not a constexpr. Some compilers, like Clang, do not
|
||||
//! optimize it well under all circumstances. Compilers like GCC, ICC and MSVC appear
|
||||
//! to optimize it well in either form.
|
||||
//! \details The <tt>sizeof(T) != 1</tt> in the condition attempts to help the
|
||||
//! compiler optimize the check for byte types. Coverity findings for
|
||||
//! CONSTANT_EXPRESSION_RESULT were generated without it. For byte types,
|
||||
//! size never exceeded ELEMS_MAX but the code was not removed.
|
||||
//! \note size is the count of elements, and not the number of bytes
|
||||
static void CheckSize(size_t size)
|
||||
{
|
||||
// C++ throws std::bad_alloc (C++03) or std::bad_array_new_length (C++11) here.
|
||||
if (size > ELEMS_MAX)
|
||||
if (sizeof(T) != 1 && size > ELEMS_MAX)
|
||||
throw InvalidArgument("AllocatorBase: requested size would cause integer overflow");
|
||||
}
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user