感谢IT之家网友 姬妮泰美、行李箱、空山鸟语灬、运宽AIit、略懂ol、退钱哥不再退、FORY 的线索投递!
问题发生在 DecodedBitStreamParser::decodeByteSegment 中。如下面的代码所示,如果传入参数 bits_是内容为空但长度非零的 ByteSegment,此时 bits.available 返回 0,随后 count 被更新为 0,但 nBytes 没有更新仍保持为非 0。这会造成后面的 append 函数访问空指针 readBytes 读取 nBytes 数据,导致程序终止。
|