OpenBSD的开发者Otto Moerbeek最近在Yacc中发现和修复了一个有33年历史的溢出臭虫。这位老兄开发了新的malloc实现,主要用途是内存分配,正在进行了大范围测试。他收到了一份奇怪的报告,对方运行的是sparc64处理器,一个大C++项目编译失败,但并不清楚是否是新malloc函数的问题。Moerbeek在调查后发现,这个问题只出现在sparc64机器上。它与堆栈的大小有关,如果超过了新malloc允许的16位就会溢出,上述例子中C++的堆栈是24位,因此SEGV就发生了。Moerbeek向前一直追溯到1975年发布的第6版UNIX。

 

(责任编辑:A6)

本站文章仅代表作者观点,本站仅传递信息,并不表示赞同或反对.转载本站点内容时请注明来自www.linuxeden.com-Linux伊甸园。如不注明,www.linuxeden.com将根据《互联网著作权行政保护办法》追究其相应法律责任。