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.
-~----------~----~----~----~------~----~------~--~---

Reply via email to