FYI...

---------- Forwarded message ----------
From:  <scan-ad...@coverity.com>
Date: Fri, Aug 18, 2017 at 4:39 AM
Subject: New Defects reported by Coverity Scan for Cryptopp
To: webmas...@cryptopp.com

Hi,

Please find the latest report on new defect(s) introduced to Cryptopp
found with Coverity Scan.

4 new defect(s) introduced to Cryptopp found with Coverity Scan.
20 defect(s), reported by Coverity Scan earlier, were marked fixed in
the recent build analyzed by Coverity Scan.

New defect(s) Reported-by: Coverity Scan
Showing 4 of 4 defect(s)


** CID 182771:  Uninitialized members  (UNINIT_CTOR)
/aria.h: 54 in CryptoPP::ARIA::Base::Base()()


________________________________________________________________________________________________________
*** CID 182771:  Uninitialized members  (UNINIT_CTOR)
/aria.h: 54 in CryptoPP::ARIA::Base::Base()()
48              void ProcessAndXorBlock(const byte *inBlock, const
byte *xorBlock, byte *outBlock) const;
49
50      private:
51              // Reference implementation allocates a table of 17 round keys.
52              FixedSizeAlignedSecBlock<byte, 16*17> m_rk;  // round keys
53              FixedSizeAlignedSecBlock<word32, 4*7> m_w;   // w0,
w1, w2, w3, t and u
>>>     CID 182771:  Uninitialized members  (UNINIT_CTOR)
>>>     The compiler-generated constructor for this class does not initialize 
>>> "m_rounds".
54              unsigned int m_rounds;
55      };
56
57     public:
58      typedef BlockCipherFinal<ENCRYPTION, Base> Encryption;
59      typedef BlockCipherFinal<DECRYPTION, Base> Decryption;

** CID 182770:    (CONSTANT_EXPRESSION_RESULT)
/secblock.h: 106 in CryptoPP::AllocatorBase<char>::CheckSize(unsigned long)()
/secblock.h: 106 in CryptoPP::AllocatorBase<unsigned
char>::CheckSize(unsigned long)()


________________________________________________________________________________________________________
*** CID 182770:    (CONSTANT_EXPRESSION_RESULT)
/secblock.h: 106 in CryptoPP::AllocatorBase<char>::CheckSize(unsigned long)()
100             //!   optimize it well under all circumstances.
Compilers like GCC, ICC and MSVC appear
101             //!   to optimize it well in either form.
102             //! \note size is the count of elements, and not the
number of bytes
103             static void CheckSize(size_t size)
104             {
105                     // C++ throws std::bad_alloc (C++03) or
std::bad_array_new_length (C++11) here.
>>>     CID 182770:    (CONSTANT_EXPRESSION_RESULT)
>>>     "size > 18446744073709551615UL /* 
>>> CryptoPP::AllocatorBase<char>::ELEMS_MAX */" is always false regardless of 
>>> the values of its operands. This occurs as the logical operand of "if".
106                     if (size > ELEMS_MAX)
107                             throw InvalidArgument("AllocatorBase:
requested size would cause integer overflow");
108             }
109     };
110
111     #define CRYPTOPP_INHERIT_ALLOCATOR_TYPES        \
/secblock.h: 106 in CryptoPP::AllocatorBase<unsigned
char>::CheckSize(unsigned long)()
100             //!   optimize it well under all circumstances.
Compilers like GCC, ICC and MSVC appear
101             //!   to optimize it well in either form.
102             //! \note size is the count of elements, and not the
number of bytes
103             static void CheckSize(size_t size)
104             {
105                     // C++ throws std::bad_alloc (C++03) or
std::bad_array_new_length (C++11) here.
>>>     CID 182770:    (CONSTANT_EXPRESSION_RESULT)
>>>     "size > 18446744073709551615UL /* CryptoPP::AllocatorBase<unsigned 
>>> char>::ELEMS_MAX */" is always false regardless of the values of its 
>>> operands. This occurs as the logical operand of "if".
106                     if (size > ELEMS_MAX)
107                             throw InvalidArgument("AllocatorBase:
requested size would cause integer overflow");
108             }
109     };
110
111     #define CRYPTOPP_INHERIT_ALLOCATOR_TYPES        \

** CID 182769:    (CHECKED_RETURN)
/validat1.cpp: 2256 in CryptoPP::Test::ValidateRC2()()
/validat1.cpp: 2257 in CryptoPP::Test::ValidateRC2()()


________________________________________________________________________________________________________
*** CID 182769:    (CHECKED_RETURN)
/validat1.cpp: 2256 in CryptoPP::Test::ValidateRC2()()
2250            bool pass=true, fail;
2251
2252            while (valdata.MaxRetrievable())
2253            {
2254                    byte keyLen, effectiveLen;
2255
>>>     CID 182769:    (CHECKED_RETURN)
>>>     Calling "Get" without checking return value (as is done elsewhere 17 
>>> out of 20 times).
2256                    valdata.Get(keyLen);
2257                    valdata.Get(effectiveLen);
2258                    valdata.Get(key, keyLen);
2259                    valdata.Get(plain, RC2Encryption::BLOCKSIZE);
2260                    valdata.Get(cipher, RC2Encryption::BLOCKSIZE);
2261
/validat1.cpp: 2257 in CryptoPP::Test::ValidateRC2()()
2251
2252            while (valdata.MaxRetrievable())
2253            {
2254                    byte keyLen, effectiveLen;
2255
2256                    valdata.Get(keyLen);
>>>     CID 182769:    (CHECKED_RETURN)
>>>     Calling "Get" without checking return value (as is done elsewhere 17 
>>> out of 20 times).
2257                    valdata.Get(effectiveLen);
2258                    valdata.Get(key, keyLen);
2259                    valdata.Get(plain, RC2Encryption::BLOCKSIZE);
2260                    valdata.Get(cipher, RC2Encryption::BLOCKSIZE);
2261
2262                    member_ptr<BlockTransformation> transE(new
RC2Encryption(key, keyLen, effectiveLen));

** CID 182768:  Integer handling issues  (CONSTANT_EXPRESSION_RESULT)
/regtest1.cpp: 60 in RegisterFactories(CryptoPP::Test::TestClass)()


________________________________________________________________________________________________________
*** CID 182768:  Integer handling issues  (CONSTANT_EXPRESSION_RESULT)
/regtest1.cpp: 60 in RegisterFactories(CryptoPP::Test::TestClass)()
54              return;
55
56      if ((suites & Test::Unkeyed) == Test::Unkeyed)
57              RegisterFactories1();
58
59      if ((suites & Test::SharedKeyMAC) == Test::SharedKeyMAC ||
>>>     CID 182768:  Integer handling issues  (CONSTANT_EXPRESSION_RESULT)
>>>     "(suites & CryptoPP::Test::SharedKeyMAC) == 
>>> CryptoPP::Test::SharedKeyStream" is always false regardless of the values 
>>> of its operands. This occurs as the logical second operand of "||".
60              (suites & Test::SharedKeyMAC) == Test::SharedKeyStream ||
61              (suites & Test::SharedKeyMAC) == Test::SharedKeyBlock)
62              RegisterFactories2();
63
64      if ((suites & Test::PublicKey) == Test::PublicKey)
65              RegisterFactories3();

-- 
-- 
You received this message because you are subscribed to the "Crypto++ Users" 
Google Group.
To unsubscribe, send an email to cryptopp-users-unsubscr...@googlegroups.com.
More information about Crypto++ and this group is available at 
http://www.cryptopp.com.
--- 
You received this message because you are subscribed to the Google Groups 
"Crypto++ Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to cryptopp-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to