野指针危害真的很大吗？
前几天刚跟同事一起解了个dangling pointer+double free的bug。那解的简直痛苦。前后一共花了一整个月，一个人全职、三个人协助去分析。 而这还算运气好的了，居然解了。 要不是前人有先见之明，在free的时候zap了一下内存（把要被free的内容先用个特殊值填充起来），这bug估计我们到现在也不会有头绪。 场景是，C++写的程序，调用某个对象的虚函数时segfault。具体看可以发现是vptr的值被corrupt了。但谁会去写对象头里的vptr呢，肯定是别处有问题。 大家有兴趣猜猜实际出错的方式是怎样的顺序么？ 更新：对我们那个bug里malloc()/free()的顺序感兴趣的同学，请跳传送门： 把实际生产代码的抽象层剥离掉，只留下最关键的malloc()/free()动作的话，就如上面传送门所写的顺序一样。