Make Singleton<Integer> static with function scope (Issue 310)
This may not fix the issue. Drilling into the issue from the web-based dashboard, Coverity is targeting:
1. noescape: CryptoPP::Integer::operator =(CryptoPP::Integer const &) does not free or save its parameter t.
3049 Integer& Integer::operator=(const Integer& t)
3050 {
3051 if (this != &t)
3052 {
3053 if (reg.size() != t.reg.size() || t.reg[t.reg.size()/2] == 0)
3054 reg.New(RoundupSize(t.WordCount()));
3055 CopyWords(reg, t.reg, reg.size());
3056 sign = t.sign;
3057 }
3058 return *this;
3059 }
pull/326/head
parent
f61b9eda2e
commit
afe391571b
|
|
@ -20,7 +20,7 @@ CXXFLAGS="-DNDEBUG -g2 -O3 -march=i686 -msse -msse2 -msse3 -mssse3 -mno-aes" cov
|
|||
|
||||
tar czvf cryptopp.tgz cov-int
|
||||
|
||||
set CRYPTOPP_COVERITY_TOKEN=XXXXXXXXXXXXXXXX
|
||||
CRYPTOPP_COVERITY_TOKEN=XXXXXXXXXXXXXXXX
|
||||
COVERITY_SCAN_NAME="Rijndael-AliasedTable-SSE2-Linux-i686"
|
||||
|
||||
curl
|
||||
|
|
|
|||
|
|
@ -3013,17 +3013,20 @@ struct NewInteger
|
|||
|
||||
const Integer &Integer::Zero()
|
||||
{
|
||||
return Singleton<Integer>().Ref();
|
||||
static const Integer& s_zero = Singleton<Integer>().Ref();
|
||||
return s_zero;
|
||||
}
|
||||
|
||||
const Integer &Integer::One()
|
||||
{
|
||||
return Singleton<Integer, NewInteger<1> >().Ref();
|
||||
static const Integer& s_one = Singleton<Integer, NewInteger<1> >().Ref();
|
||||
return s_one;
|
||||
}
|
||||
|
||||
const Integer &Integer::Two()
|
||||
{
|
||||
return Singleton<Integer, NewInteger<2> >().Ref();
|
||||
static const Integer& s_two = Singleton<Integer, NewInteger<2> >().Ref();
|
||||
return s_two;
|
||||
}
|
||||
|
||||
bool Integer::operator!() const
|
||||
|
|
|
|||
Loading…
Reference in New Issue