不少用户们在使用微信的时候,遇到闪退的情况。尤其是打开一张特殊二维码的图片,就会闪退回手机主页面,这是咋回事呢?想知道具体原因的小伙伴们可以看过来,了解一下事情的始末。
特殊二维码可致微信闪退事件始末
近日,一张二维码的照片突然在全网流传,使用微信扫描或打开该图片将导致微信出现闪退。
而如果短时间多次闪退,微信将进入安全模式,账号被强制登出。
目前,用户已经发现,导致该问题的是微信扫码引擎中的一个内存读写Bug,此类恶意制作的图片,将会通过无效的内存访问导致wechat_qrcode模块崩溃。
具体来说,根据GitHub用户Konano和GZTimeWalker的发现,该问题出现在DecodedBitStreamParser::decodeByteSegment中。
如果传入的参数bits_是内容为空,但长度非零的ByteSegment,此时bits.available () 将返回0,而count也将被更新为0.
但与此同时,nBytes并没有更新,而是保持非0,这将导致后续的append函数访问空指针readBytes读取nBytes数据,导致程度异常终止。
目前,已经有用户在GitHub提交了该Bug的代码修复,预计微信官方将在下个版本整合用户的修复补丁。
虽然闪退并不会对微信的使用造成严重影响,但基于使用安全考虑,在微信官方修复问题前,最好还是不要在微信中打开或扫描存在问题的二维码。
更多微信2018内容,请进入专题:https://www.orangesgame.com/zt/weixin2018/