Apple 的 TLS 爆了大 bug!

2014-02-22 22:10:39 +08:00
 est


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

不过 C 系列的各个语言,估计都是允许省略 if 的 { } 的吧……
ffts
2014-02-22 22:29:24 +08:00
那个两行goto的意思就是不管怎么着也会goto fail?
est
2014-02-22 22:31:50 +08:00
bcxx
2014-02-22 22:45:49 +08:00
他們是怎麼做 code review 的啊……
gihnius
2014-02-22 22:49:57 +08:00
所以 Go 要 {},很好.
panlilu
2014-02-22 22:53:07 +08:00
代码风格的问题=。=
jesse_luo
2014-02-22 23:16:28 +08:00
木有review么……

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

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

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

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

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

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

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

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

© 2021 V2EX