794488b0f61b0b2885d341d284a2714d6008e157
t.CUInt8T | t.CPtr[t.CPtr] 在定义侧按 PtrCount 累加得 i8**,但 stub/declare 侧(VpiReader 只把整段等于 t.CPtr/CPtr 的段认作 CPtr 标记)会坍缩为首段 i8,导致跨模块调用只传 1 字节、被调用方按 8 字节指针写入。ZlibTest 的 test_decompressobj 即由此触发 ASan heap-buffer-overflow:写入地址 = 压缩缓冲起址 -16(第 5 参栈槽残留的 compressed 指针被清零低字节) 改用 指针别名 | t.CPtr(两侧同为 i8**,与 win32sync.vp:65、posix.vp:199 同形),覆盖 zinflate_stream.decompress、zdeflate_stream.compress/flush、pyzlib.append_bytes 共 4 处;不改任何运行期逻辑
Description
GVSDS(TM) Viper SE Runtime Environment and Library (VRTE)
15 MiB
0 Stars
1 Watchers
0 Forks
Languages
C++
76.8%
C
22%
CMake
1.2%