Есть такой вот кусочек кода:
unsigned int i;
for(i=0;i<v.size();i++)
{
packet.header.push_back(v[i]);
}
Где:
vector<char*> v;
struct Packet
{
vector<string> header;
string data;
};
Т.е задача этого куска кода загнать строки в string`s и с чистой
совестью освободить память, на которую указывают указатели из v.
Valgrind же на такое дело говорит:
==11813== 58 bytes in 3 blocks are possibly lost in loss record 3 of 4
==11813== at 0x402377E: operator new(unsigned) (vg_replace_malloc.c:224)
==11813== by 0x40D5BB3: std::string::_Rep::_S_create(unsigned, unsigned, std::allocator<char> const&) (in /usr/lib/libstdc++.so.6.0.10)
==11813== by 0x40D6814: (within /usr/lib/libstdc++.so.6.0.10)
==11813== by 0x40D6985: std::string::string(char const*, std::allocator<char> const&) (in /usr/lib/libstdc++.so.6.0.10)
==11813== by 0x80505D8: Client::readPacket() (client.cpp:296)
==11813== by 0x8050CD4: Client::processClient(short, Client*) (client.cpp:448)
==11813== by 0x806533E: main (s_fight.cpp:317)
Варианты типа packet.header.push_back(string(v[i]));
или с временной переменной, которая уже загонется в вектор дают
такие же ошибки...
Я где-то туплю.
Подскажете где?
Ответ на:
комментарий
от Stahl

Ответ на:
комментарий
от Deleted

Ответ на:
комментарий
от Stahl

Ответ на:
комментарий
от Stahl

Ответ на:
комментарий
от Reset

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум segfault после new (2017)
- Форум Программисты, помогите (boost,xerces-c,mysql++) (2011)
- Форум Проблемы с gcc в Mandrake 10.1 (2005)
- Форум Падает java с valgrind (2023)
- Форум linking boost (2006)
- Форум Не работает линкер. (2007)
- Форум STL и аллокация памяти, Linux 2.4.22, g++ 3.2.2 (2004)
- Форум Линковка своей библиотеки к стороннему проекту (2019)
- Форум [C,C++][nmap][arm] Проблемы конечной линковки с libc и прочим (2010)
- Форум Удалил системные пакеты, не запускается Dolphin (OpenSUSE) (2011)