Mac OS X中的无限循环“od -c”(也许是FreeBSD)

时间:2014-10-02 14:19:08

标签: c macos infinite-loop freebsd bsd

在Mac OS X上试试这个(别担心,它不会让您的计算机崩溃,只是旋转):

printf "\314" | od -c

似乎字符0314以某种方式欺骗od在其默认的Unicode模式(!)中寻找进一步的输入,但没有。我稍微浏览了一下来源:http://www.opensource.apple.com/source/shell_cmds/shell_cmds-175/hexdump/conv.c

似乎这个错误就在goto retry;,但我不确定。我的问题是:这真的是错误所在,你会如何解决?


对于奖励积分,这是一个完全崩溃的命令,由于2006年Free BSD bugs mailing list报告了另一个错误:

printf "\314\217" | od -c

这仍然没有在Mac OS X中修复,显然是not in FreeBSD either,但至少它不是infinite loop!这个让我很奇怪,因为不仅仅是导致它的这两个字符 - 你可以在各种大型二进制文件上运行od -c并观察它崩溃。自2006年以来人们真的不使用od吗?

0 个答案:

没有答案