Apple 的 TLS 爆了大 bug!

2014 年 2 月 22 日
 est


为什么发到 python 版呢。因为这是 python 语言里极难犯的错误。
17234 次点击
所在节点    Python
69 条回复
treo
2014 年 2 月 22 日
还真有人在C里用goto啊。。
wwqgtxx
2014 年 2 月 22 日
@treo 操作系统级别的c源码中goto很常见的,你可以看看linux的源码了
kaiix
2014 年 2 月 22 日
if 后单语句不加花括号的确好看 不过看来还是容易出错
截屏中其他代码的缩进也很奇怪啊
treo
2014 年 2 月 22 日
@wwqgtxx 谢谢指教,搜了下,原来 goto fail 是被当作exception handle来用的
dorentus
2014 年 2 月 22 日
@kaiix 是的,最后的 goto 后面那几行和 goto 一样的缩进,但是前面最近的 if block 很明显也没有用花括号……
yinxingren
2014 年 2 月 22 日
论大括号的必要性
dorentus
2014 年 2 月 22 日
用 ruby 的话,应该也不会有这种错误存在。

不过 C 系列的各个语言,估计都是允许省略 if 的 { } 的吧……
ffts
2014 年 2 月 22 日
那个两行goto的意思就是不管怎么着也会goto fail?
est
2014 年 2 月 22 日
bcxx
2014 年 2 月 22 日
他們是怎麼做 code review 的啊……
gihnius
2014 年 2 月 22 日
所以 Go 要 {},很好.
panlilu
2014 年 2 月 22 日
代码风格的问题=。=
jesse_luo
2014 年 2 月 22 日
木有review么……

内核开发goto很多的,而且也有很多长函数,比如netif_receive_skb
11
2014 年 2 月 22 日
Linux kernel coding style…
sdysj
2014 年 2 月 22 日
靠,这代码多久了?还有就是mavericks的openssl还是老掉牙的0.98,是不是有nsa内幕啊?
cchange
2014 年 2 月 22 日
大家可否受累解释一下第二个goto会造成什么后果呢?

跳转到fail段后 就不会跳转回来吧?
zhujinliang
2014 年 2 月 22 日
写到这一行时,本来想按一下command+s,结果不小心按成了command+d。。。
66450146
2014 年 2 月 23 日
@bcxx 如果你一个提交只有 50 行,他们会从你的代码里挑出好几个毛病

如果你的一个提交有 50000 行,他们会看完以后点点头,就通过了。。。
reverland
2014 年 2 月 23 日
@cchange 好像如上面链接所示。就是跳到最后会返回个err,但err是sha1update返回的,sha1update总是成功,所以,err根本不是错误。验证总是通过
bitinn
2014 年 2 月 23 日
sign…… apple是最后一个在客户端阻止BEAST攻击的厂商,远远晚于其他OS平台和浏览器……

然后现在还搞出这么个笑话。搞不好NSA已经利用多年了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/101394

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX