'ObjectToTreeMapper::map' 中的 OOB 读取
作者: 2rr0r4o3创建于 2026年8月24日更新于 2026年8月24日
总结
ObjectToTreeMapper 将其序列化方法保存在一个按 ClassId::id 索引的向量中。填充表的函数在 id 超出范围时会扩展表;读取表的函数则根本不进行检查。ClassId 以静态初始化的顺序编号,因此在构建映射器之后注册的任何类都具有超出该映射器表末尾的 id。从表外读取的值然后被视为函数指针,如果非空则会被调用。
内容来源: oatpp/oatpp