[ https://issues.apache.org/jira/browse/STDCXX-597?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Travis Vitek updated STDCXX-597: -------------------------------- Attachment: stdcxx-597.patch 2007-10-15 Travis Vitek <[EMAIL PROTECTED]> STDCXX-597 * char.cpp (_rw_char_get): Check character count before examining string contents to avoid uninitialized memory read. > purify reports uninitialized memory read in _rw_get_char > --------------------------------------------------------- > > Key: STDCXX-597 > URL: https://issues.apache.org/jira/browse/STDCXX-597 > Project: C++ Standard Library > Issue Type: Improvement > Components: Test Driver > Reporter: Travis Vitek > Priority: Minor > Fix For: 4.2.1 > > Attachments: stdcxx-597.patch > > > **** Purify instrumented ./21.string.access (pid 2878) **** > UMR: Uninitialized memory read: > * This is occurring while in thread 2878: > _rw_get_char(char const*, char const**, unsigned*) [char.cpp:562] > rw_match(char const*, char const*, unsigned) [char.cpp:816] > test_access<char, std::char_traits<char>, std::allocator<char> >(char, > std::char_traits<char>*, char*, StringFunc const&, StringTestCase const&) > [21.string.access.cpp:274] > test_access(StringFunc const&, StringTestCase const&) > [21.string.access.cpp:317] > _rw_test_case(StringFunc const&, StringTestCase const&, (*)(StringFunc > const&, StringTestCase const&)) [21.strings.cpp:1298] > _rw_run_cases(StringFunc const&, StringTest const&) [21.strings.cpp:1353] > * Reading 1 byte from 0x8182256 in the heap. > * Address 0x8182256 is 14 bytes into a malloc'd block at 0x8182248 of 46 > bytes. > * This block was allocated from thread -1207973632: > malloc [rtlib.o] > operator new(unsigned) [libstd15d.so] > __rw::__rw_allocate(unsigned, int) [memory.cpp:53] > std::allocator<char>::allocate(unsigned, const*) [_allocator.h:144] > std::string<char, std::char_traits<char>, > std::allocator<char>>::_C_get_rep(unsigned, unsigned) [string.cc:102] > std::string<char, std::char_traits<char>, > std::allocator<char>>::string<char, std::char_traits<char>, > std::allocator<char>>[not-in-charge](char const*, unsigned, > std::allocator<char> const&) [string.cc:180] > **** Purify instrumented ./21.string.access (pid 2878) **** > UMR: Uninitialized memory read: > * This is occurring while in thread 2878: > _rw_get_char(char const*, char const**, unsigned*) [char.cpp:562] > rw_match(char const*, char const*, unsigned) [char.cpp:816] > test_access<char, UserTraits<char>, std::allocator<char> >(char, > UserTraits<char>*, char*, StringFunc const&, StringTestCase const&) > [21.string.access.cpp:274] > test_access(StringFunc const&, StringTestCase const&) > [21.string.access.cpp:317] > _rw_test_case(StringFunc const&, StringTestCase const&, (*)(StringFunc > const&, StringTestCase const&)) [21.strings.cpp:1298] > _rw_run_cases(StringFunc const&, StringTest const&) [21.strings.cpp:1353] > * Reading 1 byte from 0x818d5a6 in the heap. > * Address 0x818d5a6 is 14 bytes into a malloc'd block at 0x818d598 of 46 > bytes. > * This block was allocated from thread -1207973632: > malloc [rtlib.o] > operator new(unsigned) [libstd15d.so] > __rw::__rw_allocate(unsigned, int) [memory.cpp:53] > std::allocator<char>::allocate(unsigned, const*) [_allocator.h:144] > std::basic_string<char, std::char_traits<char>, > std::allocator<char>><char, UserTraits<char>, std::allocator<char> > >::_C_get_rep(unsigned, unsigned) [string.cc:102] > std::basic_string<char, std::char_traits<char>, > std::allocator<char>><char, UserTraits<char>, std::allocator<char> > >::basic_string<char, std::char_traits<char>, > std::allocator<char>>[not-in-charge](char const*, unsigned, > std::allocator<char> const&) [string.cc:180] -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.