漏洞标题: Segmentation Fault (NULL Dereference) in re2c::closure_leftmost_dfs during determinization 问题编号: #571 状态: 已关闭 环境: - 操作系统: Linux x86_64 - 编译器: Clang - 构建配置: Release mode with ASan enabled 漏洞细节: - 目标: re2c - 漏洞类型: CWE-476: NULL Pointer Dereference - 函数: re2c::closure_leftmost_dfs - 位置: src/dfa/closure_leftmost.h:27:21 - 调用者: re2c::closure_leftmost -> re2c::closure -> re2c::determinization - 根因分析: 在确定化阶段发生崩溃,具体在 tagged_epsilon_closure 内。堆栈跟踪显示崩溃发生在 closure_leftmost.h:27。地址 0x18 指示一个指针(可能代表 NFA 状态或在 determ_context_t 中的一个配置节点)为 NULL,代码试图访问相对于该基指针偏移 24 (0x18) 的字段。 重现步骤: 1. 使用 Release 优化并启用 ASAN 构建 re2c。 2. 使用崩溃文件运行。 ASAN 报告: - (具体报告未在截图中显示) 修复: - 提交 febeb97 解决了 Null pointer dereference 问题。 - 提交 18fc509 添加了针对 #571 的测试。