C++
x
24
1
2
using namespace std;
3
4
class Demo {
5
private:
6
int *data;
7
public:
8
Demo(int d): data {new int} {
9
*data = d;
10
}
11
12
Demo(const Demo &src): data {src.data} {}
13
14
~Demo() {
15
delete data;
16
}
17
};
18
19
int main(void) {
20
Demo d1(100);
21
Demo d2 {d1};
22
23
return 0;
24
}
$ g++ prog.cc -Wall -Wextra -std=c++11 -pedantic
Start
*** Error in `./prog.exe': double free or corruption (fasttop): 0x00000000009d6c20 *** ======= Backtrace: ========= /lib/x86_64-linux-gnu/libc.so.6(+0x777f5)[0x7fcd84d307f5] /lib/x86_64-linux-gnu/libc.so.6(+0x8038a)[0x7fcd84d3938a] /lib/x86_64-linux-gnu/libc.so.6(cfree+0x4c)[0x7fcd84d3d58c] ./prog.exe[0x400818] ./prog.exe[0x40074c] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7fcd84cd9840] ./prog.exe[0x400659] ======= Memory map: ======== 00400000-00401000 r-xp 00000000 fd:03 9596004 /home/jail/prog.exe 00600000-00601000 rw-p 00000000 fd:03 9596004 /home/jail/prog.exe 009c5000-009f7000 rw-p 00000000 00:00 0 [heap] 7fcd80000000-7fcd80021000 rw-p 00000000 00:00 0 7fcd80021000-7fcd84000000 ---p 00000000 00:00 0 7fcd84cb9000-7fcd84e79000 r-xp 00000000 fd:03 146602 /lib/x86_64-linux-gnu/libc-2.23.so 7fcd84e79000-7fcd85079000 ---p 001c0000 fd:03 146602 /lib/x86_64-linux-gnu/libc-2.23.so 7fcd85079000-7fcd8507d000 r--p 001c0000 fd:03 146602 /lib/x86_64-linux-gnu/libc-2.23.so 7fcd8507d000-7fcd8507f000 rw-p 001c4000 fd:03 146602 /lib/x86_64-linux-gnu/libc-2.23.so 7fcd8507f000-7fcd85083000 rw-p 00000000 00:00 0 7fcd85083000-7fcd8509a000 r-xp 00000000 fd:03 494118 /opt/wandbox/gcc-10.1.0/lib64/libgcc_s.so.1 7fcd8509a000-7fcd85299000 ---p 00017000 fd:03 494118 /opt/wandbox/gcc-10.1.0/lib64/libgcc_s.so.1 7fcd85299000-7fcd8529a000 rw-p 00016000 fd:03 494118 /opt/wandbox/gcc-10.1.0/lib64/libgcc_s.so.1 7fcd8529a000-7fcd853a2000 r-xp 00000000 fd:03 146606 /lib/x86_64-linux-gnu/libm-2.23.so 7fcd853a2000-7fcd855a1000 ---p 00108000 fd:03 146606 /lib/x86_64-linux-gnu/libm-2.23.so 7fcd855a1000-7fcd855a2000 r--p 00107000 fd:03 146606 /lib/x86_64-linux-gnu/libm-2.23.so 7fcd855a2000-7fcd855a3000 rw-p 00108000 fd:03 146606 /lib/x86_64-linux-gnu/libm-2.23.so 7fcd855a3000-7fcd8575f000 r-xp 00000000 fd:03 494142 /opt/wandbox/gcc-10.1.0/lib64/libstdc++.so.6.0.28 7fcd8575f000-7fcd8595f000 ---p 001bc000 fd:03 494142 /opt/wandbox/gcc-10.1.0/lib64/libstdc++.so.6.0.28 7fcd8595f000-7fcd8596a000 r--p 001bc000 fd:03 494142 /opt/wandbox/gcc-10.1.0/lib64/libstdc++.so.6.0.28 7fcd8596a000-7fcd8596d000 rw-p 001c7000 fd:03 494142 /opt/wandbox/gcc-10.1.0/lib64/libstdc++.so.6.0.28 7fcd8596d000-7fcd85970000 rw-p 00000000 00:00 0 7fcd85970000-7fcd85988000 r-xp 00000000 fd:03 146603 /lib/x86_64-linux-gnu/libpthread-2.23.so 7fcd85988000-7fcd85b87000 ---p 00018000 fd:03 146603 /lib/x86_64-linux-gnu/libpthread-2.23.so 7fcd85b87000-7fcd85b88000 r--p 00017000 fd:03 146603 /lib/x86_64-linux-gnu/libpthread-2.23.so 7fcd85b88000-7fcd85b89000 rw-p 00018000 fd:03 146603 /lib/x86_64-linux-gnu/libpthread-2.23.so 7fcd85b89000-7fcd85b8d000 rw-p 00000000 00:00 0 7fcd85b8d000-7fcd85bb3000 r-xp 00000000 fd:03 146613 /lib/x86_64-linux-gnu/ld-2.23.so 7fcd85da3000-7fcd85da9000 rw-p 00000000 00:00 0 7fcd85db1000-7fcd85db2000 rw-p 00000000 00:00 0 7fcd85db2000-7fcd85db3000 r--p 00025000 fd:03 146613 /lib/x86_64-linux-gnu/ld-2.23.so 7fcd85db3000-7fcd85db4000 rw-p 00026000 fd:03 146613 /lib/x86_64-linux-gnu/ld-2.23.so 7fcd85db4000-7fcd85db5000 rw-p 00000000 00:00 0 7ffc0439e000-7ffc043bf000 rw-p 00000000 00:00 0 [stack] 7ffc043df000-7ffc043e1000 r--p 00000000 00:00 0 [vvar] 7ffc043e1000-7ffc043e3000 r-xp 00000000 00:00 0 [vdso] ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
Aborted
Finish