微比恩 > 信息聚合 > 运行个 Hello World 也能出 Bug?Python、Java、C++ 等 16 种语言中枪,最严重可导致文件丢失

运行个 Hello World 也能出 Bug?Python、Java、C++ 等 16 种语言中枪,最严重可导致文件丢失

2022-03-21 15:34:16来源: IT之家

一句最简单的 Hello World,居然也会出 Bug?倒不是这句代码还能写错,而是运行时找到了许多操作系统对异常处理的漏洞。在向 /dev/full输出结果,也就是设备空间不足、任何写入都应失败的情况下,C 语言依然返回了 0,成功退出:$ gcc hello.c -o hello $ ./hello > /dev/full $ echo $? 0Bug 的最初发现者表示:这可不是一个小错误,本质上是“打印到标准输出”的任务。发生了错误但不抛出异常,意味着即使出现数据丢失,进程依然会继续运行。于是他一不做二不休,又测试了 C++、Python、Java 等热门语言,发了篇博客,很快就在论坛盖起了高楼,讨论度直接爆了:而评论区网友一通 Debug,综合整理下来,踩中这一 Bug 的语言,竟足足有 16 种之多!Hello World

关注公众号
标签: on JAVA Python