Project

General

Profile

Actions

Bug #3763

closed

Security/Transform/TestBoolSink/Basic use of uninitialised value

Added by Junxiao Shi over 7 years ago. Updated over 7 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Security
Target version:
Start date:
09/03/2016
Due date:
% Done:

100%

Estimated time:
0.50 h

Description

Ubuntu 16.04, ndn-cxx:commit:5a67310e89e02f1f5290901b57637e86b7d00104.

==3436== Use of uninitialised value of size 4
==3436==    at 0x4C4B21B: _itoa_word (_itoa.c:179)
==3436==    by 0x4C4F1F1: vfprintf (vfprintf.c:1631)
==3436==    by 0x4C722BE: vsnprintf (vsnprintf.c:114)
==3436==    by 0x8156C49: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > __gnu_cxx::__to_xstring<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char>(int (*)(char*, unsigned int, char const*, char*), unsigned int, char const*, ...) (string_conversions.h:95)
==3436==    by 0x8549939: to_string (basic_string.h:5307)
==3436==    by 0x8549939: ndn::security::transform::Error::Error(unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (transform-base.cpp:29)
==3436==    by 0x8549C17: ndn::security::transform::Downstream::write(unsigned char const*, unsigned int) (transform-base.cpp:43)
==3436==    by 0x82C6440: ndn::security::transform::tests::Security::Transform::TestBoolSink::Basic::test_method() (bool-sink.t.cpp:44)
==3436==    by 0x82C702F: ndn::security::transform::tests::Security::Transform::TestBoolSink::Basic_invoker() (bool-sink.t.cpp:35)
==3436==    by 0x80971F1: invoke<void (*)()> (callback.hpp:56)
==3436==    by 0x80971F1: boost::unit_test::ut_detail::callback0_impl_t<boost::unit_test::ut_detail::unused, void (*)()>::invoke() (callback.hpp:89)
==3436==    by 0x4342EA5: ??? (in /usr/lib/i386-linux-gnu/libboost_unit_test_framework.so.1.58.0)
==3436==    by 0x4322C00: boost::execution_monitor::catch_signals(boost::unit_test::callback0<int> const&) (in /usr/lib/i386-linux-gnu/libboost_unit_test_framework.so.1.58.0)
==3436==    by 0x432338A: boost::execution_monitor::execute(boost::unit_test::callback0<int> const&) (in /usr/lib/i386-linux-gnu/libboost_unit_test_framework.so.1.58.0)

Downstream::m_index is uninitialized until Source::operator>>.
It should be initialized to a value that indicates an index isn't available.

Actions #1

Updated by Junxiao Shi over 7 years ago

  • Status changed from New to In Progress
  • Assignee set to Junxiao Shi
Actions #2

Updated by Junxiao Shi over 7 years ago

  • Status changed from In Progress to Code review
  • % Done changed from 0 to 100

https://gerrit.named-data.net/3202

After this change, valgrind does not report any error in Security/Transform except false alarm of CryptoPP::Rijndael::Enc::AdvancedProcessBlocks.

Actions #3

Updated by Junxiao Shi over 7 years ago

  • Status changed from Code review to Closed
Actions

Also available in: Atom PDF