微信中有一张二维码的图片会导致用户出现闪退的情况,打开这张特殊二维码的图片就会闪退回手机主页面,而且多次闪退之后还会进入安全模式,那么这究竟是什么问题导致的?详细的各位可以来看看小编在下面分享的内容。

  特殊二维码可致微信闪退事件始末

  近日,一张二维码的照片突然在全网流传,使用微信扫描或打开该图片将导致微信出现闪退。

  而如果短时间多次闪退,微信将进入安全模式,账号被强制登出。

  目前,用户已经发现,导致该问题的是微信扫码引擎中的一个内存读写Bug,此类恶意制作的图片,将会通过无效的内存访问导致wechat_qrcode模块崩溃。

  具体来说,根据GitHub用户Konano和GZTimeWalker的发现,该问题出现在DecodedBitStreamParser::decodeByteSegment中。

  如果传入的参数bits_是内容为空,但长度非零的ByteSegment,此时bits.available () 将返回0,而count也将被更新为0.

  但与此同时,nBytes并没有更新,而是保持非0,这将导致后续的append函数访问空指针readBytes读取nBytes数据,导致程度异常终止。

  目前,已经有用户在GitHub提交了该Bug的代码修复,预计微信官方将在下个版本整合用户的修复补丁。

  虽然闪退并不会对微信的使用造成严重影响,但基于使用安全考虑,在微信官方修复问题前,最好还是不要在微信中打开或扫描存在问题的二维码。