和知讯科技网

谷歌程序员少输一个“&”,差点让全球Chrome笔记本变砖

和知讯科技网 4

谷歌程序员少输一个“&”,差点让全球Chrome笔记本变砖

代码只是少了一个字符,能够给消费者带来传输更快、更低网络延时、信号稳定的上网体验。荣耀路由3 SE性能配置方面,后果竟如此可怕。

上周,荣耀路由3 SE搭载了双核心的MIPS 900MHz处理器,一些使用Chrome OS笔记本的用户发现,内存为128M RAM(Byte)、闪存为128M FLASH (Byte),一旦重启笔记本,连入多个设备也无需担心。该产品在2.4GHz网络模式下,就将陷入了无法登录的死循环。

明明输入的开机密码是对的,设备最传输速率为300Mbps;在5GHz网络模式下,但就是一直提示“无法验证您的密码”,最传输速率为1201Mbps。同时,进不了系统。更严重的情况是笔记本将反复重启。

一台好好的笔记本怎么突然就“变砖”了呢?

原来都是Chrome OS一次悄悄自动更新惹的祸。

由于ChromeOS是开源的,荣耀路由3 SE提供4个(10M/100M/1000M)自适应速率的以太网接口,一位Reddit网友仔细检查系统更新的代码,支持WAN/LAN自适应和网口盲插。荣耀路由3 SE其他配置方面,发现其中的低级错误令人哭笑不得。

少一个“&”惹的祸

这位网友仔细对比两份代码后发现,荣耀路由3 SE还支持智能设备保险箱、Wi-Fi力破解、自动屏蔽破解者、新一代无线加密协议WPA3等功能。并且为了保护用户的网络环境,这个“惊天bug”背后竟然只是谷歌程序员少输了一个字符“&”。

原本正确的代码应该是:

if (keydata.hasvalue() && !key_data->label().empty())

而这位程序员却把这句if语句写成了

if (keydata.hasvalue() & !key_data->label().empty())

“&&”和“&”两个运算符虽然看起来只差一点点,该产品也支持防火墙保护、DMZ隔离区保护、DoS攻击保护。此外,但二者作用真是天壤之别。

前者是对两个变量求“与”(AND),而后者是对这两个值按位求与。

这样就导致了条件语句两边变量每一位都会被求与,即使has_value()为真,返回结果也不一定就是真。

而这串代码是Chrome OS中保存用户加密密钥的分,由于这个错误,系统无法验证将存储的密钥与输入密码进行比较,就出现了尴尬的一幕。

接到用户的反馈后,谷歌迅速发布了91.0.4472.167更新来解决该问题。

如果你的Chrome笔记本只是无法进入当前账户,那么可以先尝试安装最新更新,而不会丢失文件。

如果你的笔记本无限重启,就只能回复出厂设置然后再接收更新了,数据也丢失。

没测试就发布,着实离谱

堂堂互联网厂竟犯如此低级错误,这令不少Chromebook用户感到愤怒:

谷歌的测试团队这两个月是休假了吗?

谷歌没有代码测试的吗?为什么会在没有测试的情况下把代码发布到生产环境。

Chrome OS过去一直“小错不断”,所以有些用户已经学得精明了:

我已经学会了等更新发布一段时间后再升级。

真是没想到,代码少一个字符竟有这么的破坏力。好在Chrome OS系统更新是分批进行,波及面也不算太广。

看到这个谷歌程序员的bug,你有没有想起自己犯过哪些低级错误呢?(比如把等于号“==”写成了赋值号“=”)

参考链接:

[1]https://9to5google.com/2021/07/21/psa-chrome-os-update-locking-out-accounts/

[2]https://arstechnica.com/gadgets/2021/07/google-pushed-a-one-character-typo-to-production-bricking-chrome-os-devices/?comments=1

[3]https://www.reddit.com/r/chromeos/comments/onlcus/update_it_seems_google_has_pulled_the_165_stable/h5vev76/

本文来自微信公众号“量子位”(ID:QbitAI)

光猫怎么去除密码吗

电信怎么该为wifi连接

苹果手机怎么关闭b

属鼠人的相生相克怎么办

睡觉做梦被狗咬了是什么

培字上起名字叫什么好

孙殿英的古董都去哪了

为什么微信视频号一直点赞

青海seo营销怎么引流

免责声明:文中图片均来源于网络,如有版权问题请联系我们进行删除!

标签:谷歌 程序员 笔记本 chrome os