*** glibc detected *** corrupted double-linked list: 0xb78381d8 ***
======= Backtrace: =========
/usr/lib/libc.so.6[0xb7781d3b]
/usr/lib/libc.so.6[0xb7781e77]
/usr/lib/libc.so.6[0xb7782d50]
/usr/lib/libc.so.6(malloc+0x71)[0xb7783f2c]
后面的call stack是自己程序的函数调用
两个原因
1.
int* a = new int(10);
delete a;
delete a; // <---- 这个
2. int* a;
delete a; // <---- 这个
还有一个
char s[10];
int* a = new int(10);
sprintf(s, "1234567890");
delete a; // a 被前面的给覆盖了