I am using crpto++ library in one of my project. after implementation
of task; i ran rational purifier to findout memory leaks in the
project. Rational purifier reported a few memoy leaks in my project
and also reported a few memory leaks in crypto++ library.
Please find below the memory leaks reported by rational purifier in
Crypto++ library. if any body has any idea to remove these leaks,
please suggest.
[W] UMR: Uninitialized memory read in
CryptoPP::StreamTransformationFilter::LastPut(BYTE const*,UINT) {1
occurrence}
Reading 1 byte from 0x0007a4c9 (1 byte at 0x0007a4c9
uninitialized)
Address 0x0007a4c9 points into a thread's stack
Thread ID: 0x1568
Error location
CryptoPP::StreamTransformationFilter::LastPut(BYTE
const*,UINT) [..\cryptopp560\filters.cpp:694]
CryptoPP::FilterWithBufferedInput::PutMaybeModifiable(BYTE
*,UINT,int,bool,bool) [..\cryptopp560\filters.cpp:408]
CryptoPP::FilterWithBufferedInput::Put2(BYTE
const*,UINT,int,bool) [..\cryptopp560\filters.h:155]
CryptoPP::BufferedTransformation::ChannelPut2
(basic_string<char,char_traits<char>::std,allocator<char>::std>::std
const&,BYTE const*,UINT,int,bool) [h:\cryptopp560\cryptlib.cpp:350]
CryptoPP::BufferedTransformation::ChannelMessageEnd
(basic_string<char,char_traits<char>::std,allocator<char>::std>::std
const&,int,bool) [..\cryptopp560\cryptlib.h:998]
CryptoPP::BufferedTransformation::TransferMessagesTo2
(BufferedTransformation::CryptoPP&,UINT&,basic_string<char,char_traits<char>::std,allocator<char>::std>::std
const&,bool) [..\cryptopp560\cryptlib.cpp:507]
CryptoPP::BufferedTransformation::TransferAllTo2
(BufferedTransformation::CryptoPP&,basic_string<char,char_traits<char>::std,allocator<char>::std>::std
const&,bool) [..\cryptopp560\cryptlib.cpp:548]
CryptoPP::SourceTemplate<StringStore::CryptoPP>::PumpAll2
(bool) [..\libs\crypto\include\filters.h:765]
size_t PumpMessages2(unsigned int &messageCount,
bool blocking=true)
{return m_store.TransferMessagesTo2
(*AttachedTransformation(), messageCount, DEFAULT_CHANNEL, blocking);}
size_t PumpAll2(bool blocking=true)
=> {return m_store.TransferAllTo2
(*AttachedTransformation(), DEFAULT_CHANNEL, blocking);}
bool SourceExhausted() const
{return !m_store.AnyRetrievable() && !
m_store.AnyMessages();}
void SetAutoSignalPropagation(int propagation)
CryptoPP::Source::PumpAll(void)
[..\libs\crypto\include\filters.h:736]
unsigned int PumpMessages(unsigned int
count=UINT_MAX)
{PumpMessages2(count); return count;}
void PumpAll()
=> {PumpAll2();}
virtual size_t Pump2(lword &byteCount, bool
blocking=true) =0;
virtual size_t PumpMessages2(unsigned int
&messageCount, bool blocking=true) =0;
virtual size_t PumpAll2(bool blocking=true);
CryptoPP::Source::SourceInitialize
(bool,NameValuePairs::CryptoPP const&) [..\libs\crypto\include
\filters.h:747]
{
IsolatedInitialize(parameters);
if (pumpAll)
=> PumpAll();
}
};
Regards,
Deepak
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the "Crypto++ Users"
Google Group.
To unsubscribe, send an email to [email protected].
More information about Crypto++ and this group is available at
http://www.cryptopp.com.
-~----------~----~----~----~------~----~------~--~---