1. ==28811== Memcheck, a memory error detector
  2. ==28811== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al.
  3. ==28811== Using Valgrind-3.6.1 and LibVEX; rerun with -h for copyright info
  4. ==28811== Command: ./sll_client
  5. ==28811== Parent PID: 26156
  6. ==28811==
  7. ==28811== Invalid read of size 4
  8. ==28811== at 0x407CB3: RCFour::Process(std::string&) (RCFour.cpp:71)
  9. ==28811== by 0x407A9B: RCFour::Encipher(std::string&) (RCFour.cpp:46)
  10. ==28811== by 0x40ED54: Crypto::Encipher(std::string&) (crypto.cpp:61)
  11. ==28811== by 0x40969E: main (simple_client_main.cpp:208)
  12. ==28811== Address 0x5c00d4c is 3 bytes after a block of size 153 free'd
  13. ==28811== at 0x4C27FFF: operator delete(void*) (vg_replace_malloc.c:387)
  14. ==28811== by 0x4ECCD2D: std::string::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.14)
  15. ==28811== by 0x4ECCD74: std::string::push_back(char) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.14)
  16. ==28811== by 0x407BCE: RCFour::Process(std::string&) (RCFour.cpp:63)
  17. ==28811== by 0x407A9B: RCFour::Encipher(std::string&) (RCFour.cpp:46)
  18. ==28811== by 0x40ED54: Crypto::Encipher(std::string&) (crypto.cpp:61)
  19. ==28811== by 0x40969E: main (simple_client_main.cpp:208)
  20. ==28811==
  21. ==28811== Invalid write of size 4
  22. ==28811== at 0x407CD7: RCFour::Process(std::string&) (RCFour.cpp:72)
  23. ==28811== by 0x407A9B: RCFour::Encipher(std::string&) (RCFour.cpp:46)
  24. ==28811== by 0x40ED54: Crypto::Encipher(std::string&) (crypto.cpp:61)
  25. ==28811== by 0x40969E: main (simple_client_main.cpp:208)
  26. ==28811== Address 0x5c00d4c is 3 bytes after a block of size 153 free'd
  27. ==28811== at 0x4C27FFF: operator delete(void*) (vg_replace_malloc.c:387)
  28. ==28811== by 0x4ECCD2D: std::string::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.14)
  29. ==28811== by 0x4ECCD74: std::string::push_back(char) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.14)
  30. ==28811== by 0x407BCE: RCFour::Process(std::string&) (RCFour.cpp:63)
  31. ==28811== by 0x407A9B: RCFour::Encipher(std::string&) (RCFour.cpp:46)
  32. ==28811== by 0x40ED54: Crypto::Encipher(std::string&) (crypto.cpp:61)
  33. ==28811== by 0x40969E: main (simple_client_main.cpp:208)
  34. ==28811==
  35. ==28811== Invalid read of size 4
  36. ==28811== at 0x407CB3: RCFour::Process(std::string&) (RCFour.cpp:71)
  37. ==28811== by 0x407AD3: RCFour::Decipher(std::string&) (RCFour.cpp:50)
  38. ==28811== by 0x40EF12: Crypto::Decipher(std::string&) (crypto.cpp:80)
  39. ==28811== by 0x409714: main (simple_client_main.cpp:212)
  40. ==28811== Address 0x5c00d4c is 3 bytes after a block of size 153 free'd
  41. ==28811== at 0x4C27FFF: operator delete(void*) (vg_replace_malloc.c:387)
  42. ==28811== by 0x4ECCD2D: std::string::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.14)
  43. ==28811== by 0x4ECCD74: std::string::push_back(char) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.14)
  44. ==28811== by 0x407BCE: RCFour::Process(std::string&) (RCFour.cpp:63)
  45. ==28811== by 0x407A9B: RCFour::Encipher(std::string&) (RCFour.cpp:46)
  46. ==28811== by 0x40ED54: Crypto::Encipher(std::string&) (crypto.cpp:61)
  47. ==28811== by 0x40969E: main (simple_client_main.cpp:208)
  48. ==28811==
  49. ==28811== Invalid write of size 4
  50. ==28811== at 0x407CD7: RCFour::Process(std::string&) (RCFour.cpp:72)
  51. ==28811== by 0x407AD3: RCFour::Decipher(std::string&) (RCFour.cpp:50)
  52. ==28811== by 0x40EF12: Crypto::Decipher(std::string&) (crypto.cpp:80)
  53. ==28811== by 0x409714: main (simple_client_main.cpp:212)
  54. ==28811== Address 0x5c00d4c is 3 bytes after a block of size 153 free'd
  55. ==28811== at 0x4C27FFF: operator delete(void*) (vg_replace_malloc.c:387)
  56. ==28811== by 0x4ECCD2D: std::string::reserve(unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.14)
  57. ==28811== by 0x4ECCD74: std::string::push_back(char) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.14)
  58. ==28811== by 0x407BCE: RCFour::Process(std::string&) (RCFour.cpp:63)
  59. ==28811== by 0x407A9B: RCFour::Encipher(std::string&) (RCFour.cpp:46)
  60. ==28811== by 0x40ED54: Crypto::Encipher(std::string&) (crypto.cpp:61)
  61. ==28811== by 0x40969E: main (simple_client_main.cpp:208)
  62. ==28811==
  63. ==28811==
  64. ==28811== HEAP SUMMARY:
  65. ==28811== in use at exit: 2,128 bytes in 4 blocks
  66. ==28811== total heap usage: 16,737 allocs, 16,733 frees, 1,659,287 bytes allocated
  67. ==28811==
  68. ==28811== 16 bytes in 1 blocks are definitely lost in loss record 1 of 4
  69. ==28811== at 0x4C28B42: operator new(unsigned long) (vg_replace_malloc.c:261)
  70. ==28811== by 0x4060D3: __gnu_cxx::new_allocator<int>::allocate(unsigned long, void const*) (new_allocator.h:89)
  71. ==28811== by 0x405CBA: std::_Vector_base<int, std::allocator<int> >::_M_allocate(unsigned long) (in /host/git/cr_sll_client/Debug/sll_client)
  72. ==28811== by 0x4058ED: int* std::vector<int, std::allocator<int> >::_M_allocate_and_copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > >(unsigned long, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >) (stl_vector.h:967)
  73. ==28811== by 0x40516C: std::vector<int, std::allocator<int> >::operator=(std::vector<int, std::allocator<int> > const&) (vector.tcc:165)
  74. ==28811== by 0x407A69: RCFour::SetKey(std::vector<int, std::allocator<int> >&) (RCFour.cpp:41)
  75. ==28811== by 0x407994: RCFour::RCFour(std::vector<int, std::allocator<int> >&) (RCFour.cpp:34)
  76. ==28811== by 0x40E9E9: Crypto::SetModeRCFour(std::string&) (crypto.cpp:23)
  77. ==28811== by 0x4089F6: main (simple_client_main.cpp:114)
  78. ==28811==
  79. ==28811== 64 bytes in 1 blocks are definitely lost in loss record 2 of 4
  80. ==28811== at 0x4C28B42: operator new(unsigned long) (vg_replace_malloc.c:261)
  81. ==28811== by 0x4060D3: __gnu_cxx::new_allocator<int>::allocate(unsigned long, void const*) (new_allocator.h:89)
  82. ==28811== by 0x405CBA: std::_Vector_base<int, std::allocator<int> >::_M_allocate(unsigned long) (in /host/git/cr_sll_client/Debug/sll_client)
  83. ==28811== by 0x4058ED: int* std::vector<int, std::allocator<int> >::_M_allocate_and_copy<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > >(unsigned long, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >) (stl_vector.h:967)
  84. ==28811== by 0x40516C: std::vector<int, std::allocator<int> >::operator=(std::vector<int, std::allocator<int> > const&) (vector.tcc:165)
  85. ==28811== by 0x407A69: RCFour::SetKey(std::vector<int, std::allocator<int> >&) (RCFour.cpp:41)
  86. ==28811== by 0x407994: RCFour::RCFour(std::vector<int, std::allocator<int> >&) (RCFour.cpp:34)
  87. ==28811== by 0x40E9E9: Crypto::SetModeRCFour(std::string&) (crypto.cpp:23)
  88. ==28811== by 0x409512: main (simple_client_main.cpp:191)
  89. ==28811==
  90. ==28811== 1,024 bytes in 1 blocks are definitely lost in loss record 3 of 4
  91. ==28811== at 0x4C28B42: operator new(unsigned long) (vg_replace_malloc.c:261)
  92. ==28811== by 0x4060D3: __gnu_cxx::new_allocator<int>::allocate(unsigned long, void const*) (new_allocator.h:89)
  93. ==28811== by 0x405CBA: std::_Vector_base<int, std::allocator<int> >::_M_allocate(unsigned long) (in /host/git/cr_sll_client/Debug/sll_client)
  94. ==28811== by 0x40557A: std::vector<int, std::allocator<int> >::_M_insert_aux(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, int const&) (vector.tcc:322)
  95. ==28811== by 0x40508B: std::vector<int, std::allocator<int> >::push_back(int const&) (stl_vector.h:749)
  96. ==28811== by 0x407B70: RCFour::Process(std::string&) (RCFour.cpp:62)
  97. ==28811== by 0x407A9B: RCFour::Encipher(std::string&) (RCFour.cpp:46)
  98. ==28811== by 0x40ED54: Crypto::Encipher(std::string&) (crypto.cpp:61)
  99. ==28811== by 0x408A44: main (simple_client_main.cpp:116)
  100. ==28811==
  101. ==28811== 1,024 bytes in 1 blocks are definitely lost in loss record 4 of 4
  102. ==28811== at 0x4C28B42: operator new(unsigned long) (vg_replace_malloc.c:261)
  103. ==28811== by 0x4060D3: __gnu_cxx::new_allocator<int>::allocate(unsigned long, void const*) (new_allocator.h:89)
  104. ==28811== by 0x405CBA: std::_Vector_base<int, std::allocator<int> >::_M_allocate(unsigned long) (in /host/git/cr_sll_client/Debug/sll_client)
  105. ==28811== by 0x40557A: std::vector<int, std::allocator<int> >::_M_insert_aux(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, int const&) (vector.tcc:322)
  106. ==28811== by 0x40508B: std::vector<int, std::allocator<int> >::push_back(int const&) (stl_vector.h:749)
  107. ==28811== by 0x407B70: RCFour::Process(std::string&) (RCFour.cpp:62)
  108. ==28811== by 0x407A9B: RCFour::Encipher(std::string&) (RCFour.cpp:46)
  109. ==28811== by 0x40ED54: Crypto::Encipher(std::string&) (crypto.cpp:61)
  110. ==28811== by 0x40969E: main (simple_client_main.cpp:208)
  111. ==28811==
  112. ==28811== LEAK SUMMARY:
  113. ==28811== definitely lost: 2,128 bytes in 4 blocks
  114. ==28811== indirectly lost: 0 bytes in 0 blocks
  115. ==28811== possibly lost: 0 bytes in 0 blocks
  116. ==28811== still reachable: 0 bytes in 0 blocks
  117. ==28811== suppressed: 0 bytes in 0 blocks
  118. ==28811==
  119. ==28811== For counts of detected and suppressed errors, rerun with: -v
  120. ==28811== ERROR SUMMARY: 48 errors from 8 contexts (suppressed: 4 from 4)