作者flax00298 (NI)
看板C_and_CPP
標題[問題] pointer的double free
時間Tue Jul 14 10:27:55 2009
int main()
{
int* x=new int;
*x =10;
delete[] x;
delete[] x;
}
我寫個程式長這樣
不過也沒有發生什麼不幸的事情
我們常看到的double free
不是就是這種情形嗎?
還是說
是free第一次之後有用其他的pointer
所以那一塊的heap memory就被其他pointer使用
結果在之後又free第二次了
所以就free到不該free的地方這樣嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.251.212
→ ledia:怎麼會沒事, 我一執行就 core dumped ... XD 07/14 11:04
→ flax00298:我的的怎麼沒有事情@@好奇怪 07/14 11:19
推 psliurt:如果沒有事情,可以試著將執行檔compile成release的版本 07/15 00:34
→ psliurt:然後多執行幾次,或許會看到錯誤產生... 07/15 00:34