PR 合入模板
注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。
1. 修改描述
- 修改原因:
- 修改内容:
2. 功能验证
- 功能自验
- 本地自验用例截图
- 冒烟是否通过 (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟)
3. 分支合并要求
- 代码合并(请确保将 master 分支的最新代码同步合并至 poc 分支及 pre-research 分支,同时保证 poc 分支的代码也已正确合并到 pre-research 分支。)
3. 代码检视
-
要求:
- 合入代码超过 200 行,需三人以上会议检视。
- 检视密度≥1个/100行。
- 检视缺陷密度未达要求需提供说明。
- 大于 1000 行代码原则上不允许合入,需进行备案。
-
是否经过代码检视
-
是否具备 UT 测试用例看护 (如不符合,请说明原因:____________________)
-
检视意见数:____ 条 (请填写本次检视的意见总数,用于commit合入前审视)
4. 安全自检
Python、C++:
- 对外接口新增/删除/变更后,资料要同步新增/删除/变更,新增接口入参校验参考外部输入表格
- 不允许私有的文件操作,需要使用公共模块的安全函数
- 任务结束后需要删除临时文件,同时需要考虑任务失败后,临时文件没有残留
- 数组访问需要校验越界场景,对除法需要做除零校验
- 需要对递归方法做递归深度校验,正则表达式必须做 ReDoS 校验
- 需要充分进行接口输入和返回值异常情况的校验
- 日志打印不要出现拼写或语法错误,不要暴露代码细节和敏感信息
C++:
- 指针使用前需要判空
- 数值计算校验溢出和反转
- 不可存在内存泄漏(异常场景需要释放内存)
- 类型转换不能出现数据截断
- 拷贝字符串时,目的缓冲区至少比源缓冲区大 1
- 拷贝内存时,目的缓冲区不小于源缓冲区
- 内存释放后指针赋值为 nullptr
5. 变更知会
- 资料修改
- 变更通知(消息知会 + 邮件知会)