# 未定义行为与安全检查清单

## 越界与未初始化

- 数组、缓冲区和字符串操作是否可能读写越界，或把终止符空间算漏。
- 局部变量、结构体字段或输出缓冲区是否在读取前完成初始化。

## 整数与格式化

- 长度、容量、偏移和乘法是否存在可证的溢出、截断或符号转换问题。
- `printf`/`snprintf`/日志格式串是否与参数类型一致，且格式串不来自未校验输入。

## 别名与危险接口

- 类型转换、强制转指针、对齐假设和 `void *` 回转是否依赖未证实前提。
- `gets`、不受限的 `strcpy`/`sprintf`、未校验的 `scanf` 等危险接口是否被引入。
- 仅在 diff 可证时报告 UB，不推断编译器优化或平台专有行为。
