微信一扫二维码就老闪退怎么回事

【微信一扫二维码就老闪退怎么回事】近日,一张二维码的照片突然在全网流传,使用微信扫描或打开该图片将导致微信出现闪退 。
而如果短时间多次闪退,微信将进入安全模式,账号被强制登出 。

微信一扫二维码就老闪退怎么回事

文章插图
目前,用户已经发现,导致该问题的是微信扫码引擎中的一个内存读写Bug,此类恶意制作的图片,将会通过无效的内存访问导致wechat_qrcode模块崩溃 。
具体来说,根据GitHub用户Konano和GZTimeWalker的发现 , 该问题出现在DecodedBitStreamParser::decodeByteSegment中 。
如果传入的参数bits_是内容为空,但长度非零的ByteSegment,此时bits.available 将返回0,而count也将被更新为0.
但与此同时,nBytes并没有更新,而是保持非0,这将导致后续的append函数访问空指针readBytes读取nBytes数据,导致程度异常终止 。
微信一扫二维码就老闪退怎么回事

文章插图
目前 , 已经有用户在GitHub提交了该Bug的代码修复,预计微信官方将在下个版本整合用户的修复补丁 。
虽然闪退并不会对微信的使用造成严重影响,但基于使用安全考虑 , 在微信官方修复问题前 , 最好还是不要在微信中打开或扫描存在问题的二维码 。