Nп/п : 26 из 87
От : Nil A 2:5015/46 05 дек 23 00:10:50
К : All 05 дек 23 00:20:02
Тема : Не POD структуры, и их переиспользование
----------------------------------------------------------------------------------
@MSGID: 2:5015/46 656e423c
@CHRS: CP866 2
@TZUTC: 0300
@TID: hpt/lnx 1.9.0-cur 2021-05-15
Hello, All!
Короче, из этих не POD структур, со std::string, и std::vector,
ничего хорошего не выходит, если начинают memset() и memcpy() :-(
Вот такие АСАН приколы я ловлю постоянно, и всё вокруг потерянных
стрингов и векторов. Говно вопрос, конечно, не заезды по памяти, но всё
равно, так не камильфо пейсать.
==22333==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 40 byte(s) in 1 object(s) allocated from:
#0 0x7f23ee74922f in operator new(unsigned long)
../../../../src/libsanitizer/asan/asan_new_delete.cc:104
#1 0x6b967f in MakeLineIndex(GMsg*, int, bool, bool)
/home/fido/src/golded-plus/golded3/geline.cpp:2961
#2 0x6afa33 in GMsg::TextToLines(int, bool, bool)
/home/fido/src/golded-plus/golded3/geline.cpp:2128
#3 0x770444 in MakeMsg2 /home/fido/src/golded-plus/golded3/gepost.cpp:588
#4 0x781a85 in MakeMsg(int, GMsg*, bool)
/home/fido/src/golded-plus/golded3/gepost.cpp:1275
#5 0x82afc6 in QuoteMsg(bool)
/home/fido/src/golded-plus/golded3/getpls.cpp:1340
#6 0x7bff82 in Reader() /home/fido/src/golded-plus/golded3/geread.cpp:918
#7 0x6c8859 in main /home/fido/src/golded-plus/golded3/gemain.cpp:54
#8 0x7f23ecd85f44 in __libc_start_main
(/lib/x86_64-linux-gnu/libc.so.6+0x21f44)
Indirect leak of 156 byte(s) in 2 object(s) allocated from:
#0 0x7f23ee74922f in operator new(unsigned long)
../../../../src/libsanitizer/asan/asan_new_delete.cc:104
#1 0x4220ac in __gnu_cxx::new_allocator::allocate(unsigned long,
void const*) /usr/include/c++/9/ext/new_allocator.h:114
#2 0x421ce4 in std::string::_Rep::_S_create(unsigned long, unsigned
long, std::allocator const&) /usr/include/c++/9/bits/basic_string.tcc:1058
#3 0x488232 in std::string::_Rep::_M_clone(std::allocator const&,
unsigned long) /usr/include/c++/9/bits/basic_string.tcc:1079
#4 0x56b5a6 in std::string::reserve(unsigned long)
/usr/include/c++/9/bits/basic_string.tcc:960
#5 0x56b1ad in std::string::append(char const*, unsigned long)
/usr/include/c++/9/bits/basic_string.tcc:758
#6 0x5679c5 in std::string::append(char const*)
/usr/include/c++/9/bits/basic_string.h:4247
#7 0x566ed4 in std::string::operator+=(char const*)
/usr/include/c++/9/bits/basic_string.h:4168
#8 0x771f19 in MakeMsg2 /home/fido/src/golded-plus/golded3/gepost.cpp:658
#9 0x781a85 in MakeMsg(int, GMsg*, bool)
/home/fido/src/golded-plus/golded3/gepost.cpp:1275
#10 0x82afc6 in QuoteMsg(bool)
/home/fido/src/golded-plus/golded3/getpls.cpp:1340
#11 0x7bff82 in Reader() /home/fido/src/golded-plus/golded3/geread.cpp:918
#12 0x6c8859 in main /home/fido/src/golded-plus/golded3/gemain.cpp:54
#13 0x7f23ecd85f44 in __libc_start_main
(/lib/x86_64-linux-gnu/libc.so.6+0x21f44)
Indirect leak of 80 byte(s) in 2 object(s) allocated from:
#0 0x7f23ee74922f in operator new(unsigned long)
../../../../src/libsanitizer/asan/asan_new_delete.cc:104
#1 0x6b967f in MakeLineIndex(GMsg*, int, bool, bool)
/home/fido/src/golded-plus/golded3/geline.cpp:2961
#2 0x6afa33 in GMsg::TextToLines(int, bool, bool)
/home/fido/src/golded-plus/golded3/geline.cpp:2128
#3 0x770444 in MakeMsg2 /home/fido/src/golded-plus/golded3/gepost.cpp:588
#4 0x781a85 in MakeMsg(int, GMsg*, bool)
/home/fido/src/golded-plus/golded3/gepost.cpp:1275
#5 0x82afc6 in QuoteMsg(bool)
/home/fido/src/golded-plus/golded3/getpls.cpp:1340
#6 0x7bff82 in Reader() /home/fido/src/golded-plus/golded3/geread.cpp:918
#7 0x6c8859 in main /home/fido/src/golded-plus/golded3/gemain.cpp:54
#8 0x7f23ecd85f44 in __libc_start_main
(/lib/x86_64-linux-gnu/libc.so.6+0x21f44)
Indirect leak of 34 byte(s) in 1 object(s) allocated from:
#0 0x7f23ee74922f in operator new(unsigned long)
../../../../src/libsanitizer/asan/asan_new_delete.cc:104
#1 0x4220ac in __gnu_cxx::new_allocator::allocate(unsigned long,
void const*) /usr/include/c++/9/ext/new_allocator.h:114
#2 0x421ce4 in std::string::_Rep::_S_create(unsigned long, unsigned
long, std::allocator const&) /usr/include/c++/9/bits/basic_string.tcc:1058
#3 0x4216ae in std::string::_M_mutate(unsigned long, unsigned long,
unsigned long) /usr/include/c++/9/bits/basic_string.tcc:929
#4 0x421400 in std::string::_M_replace_safe(unsigned long, unsigned
long, char const*, unsigned long) /usr/include/c++/9/bits/basic_string.tcc:1135
#5 0x420ca1 in std::string::assign(char const*, unsigned long)
/usr/include/c++/9/bits/basic_string.tcc:714
#6 0x41f3ad in std::string::assign(char const*)
/usr/include/c++/9/bits/basic_string.h:4403
#7 0x41d1d8 in std::string::operator=(char const*)
/usr/include/c++/9/bits/basic_string.h:3726
#8 0x6b9137 in MakeLineIndex(GMsg*, int, bool, bool)
/home/fido/src/golded-plus/golded3/geline.cpp:2948
#9 0x6afa33 in GMsg::TextToLines(int, bool, bool)
/home/fido/src/golded-plus/golded3/geline.cpp:2128
#10 0x770444 in MakeMsg2 /home/fido/src/golded-plus/golded3/gepost.cpp:588
#11 0x781a85 in MakeMsg(int, GMsg*, bool)
/home/fido/src/golded-plus/golded3/gepost.cpp:1275
#12 0x82afc6 in QuoteMsg(bool)
/home/fido/src/golded-plus/golded3/getpls.cpp:1340
#13 0x7bff82 in Reader() /home/fido/src/golded-plus/golded3/geread.cpp:918
#14 0x6c8859 in main /home/fido/src/golded-plus/golded3/gemain.cpp:54
#15 0x7f23ecd85f44 in __libc_start_main
(/lib/x86_64-linux-gnu/libc.so.6+0x21f44)
SUMMARY: AddressSanitizer: 310 byte(s) leaked in 6 allocation(s).
Best Regards, Nil
--- GoldED+/LNX 1.1.5
* Origin: Linux 2.6.32-042stab145.3 (2:5015/46)
SEEN-BY: 460/58 463/68 5005/49 5015/46 255 5019/40
5020/715 848 1042 4441
SEEN-BY: 5020/12000 5023/24 5030/49 1081 5053/58
5058/104 6078/80
@PATH: 5015/46 5020/1042 4441