glibc corrupted double-linked list
-
Hi, ich bekomme den obigen Fehler bei folgendem code:
char* home= getenv("HOME"); file_= std::string(home) + std::string("/bla/" + counter + "conf.txt");
Wobei file_ eine Klassenvariable vom Typ std::string ist. Ich nehme mal an,
dass es mit home zusammenhaengt und ich den Speicher freigeben sollte. Weiss aber nicht so recht wie. Ein free(home) oder delete home funktioniert nicht.Danke
MaxDen Backtrace hab ich auch noch:
#0 0xa7bd77c7 in raise () from /lib/tls/libc.so.6
#1 0xa7bd906b in abort () from /lib/tls/libc.so.6
#2 0xa7c0e545 in __fsetlocking () from /lib/tls/libc.so.6
#3 0xa7c14cbc in malloc_usable_size () from /lib/tls/libc.so.6
#4 0xa7c15032 in free () from /lib/tls/libc.so.6
#5 0xa7dcaa11 in operator delete () from /usr/lib/libstdc++.so.6
#6 0xa7da612d in std::string::_Rep::_M_destroy () from /usr/lib/libstdc++.so.6
#7 0xa7da8318 in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string ()
from /usr/lib/libstdc++.so.6
-
maximus schrieb:
Hi, ich bekomme den obigen Fehler bei folgendem code:
char* home= getenv("HOME"); file_= std::string(home) + std::string("/bla/" + counter + "conf.txt");
Wobei file_ eine Klassenvariable vom Typ std::string ist. Ich nehme mal an,
dass es mit home zusammenhaengt und ich den Speicher freigeben sollte. Weiss aber nicht so recht wie. Ein free(home) oder delete home funktioniert nicht.std::string("/bla/" + counter + "conf.txt");
Denk mal kurz darüber nach, warum Du eigentlich den ganzen anderen Kram in Strings konvertierst...?!
Have phun