PR 合入模板

注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。


1. 修改描述

  • 修改原因:
  • 修改内容:

2. 功能验证

  • 功能自验
  • 本地自验用例截图
  • 冒烟是否通过 (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟)

3. 分支合并要求

  • 代码合并(请确保将 master 分支的最新代码同步合并至 poc 分支及 pre-research 分支,同时保证 poc 分支的代码也已正确合并到 pre-research 分支。)

4. 代码检视

  • 要求:

    • 合入代码超过 200 行,需三人以上会议检视。
    • 检视密度≥1个/100行。
    • 检视缺陷密度未达要求需提供说明。
    • 大于 1000 行代码原则上不允许合入,需进行备案。
  • 是否经过代码检视

  • 是否具备 UT 测试用例看护 (如不符合,请说明原因:____________________)

  • 检视意见数:____ 条 (请填写本次检视的意见总数,用于commit合入前审视)


5. 安全自检

Python、C++

  • 对外接口新增/删除/变更后,资料要同步新增/删除/变更,新增接口入参校验参考外部输入表格
  • 不允许私有的文件操作,需要使用公共模块的安全函数
  • 任务结束后需要删除临时文件,同时需要考虑任务失败后,临时文件没有残留
  • 数组访问需要校验越界场景,对除法需要做除零校验
  • 需要对递归方法做递归深度校验,正则表达式必须做 ReDoS 校验
  • 需要充分进行接口输入和返回值异常情况的校验
  • 日志打印不要出现拼写或语法错误,不要暴露代码细节和敏感信息

C++

  • 指针使用前需要判空
  • 数值计算校验溢出和反转
  • 不可存在内存泄漏(异常场景需要释放内存)
  • 类型转换不能出现数据截断
  • 拷贝字符串时,目的缓冲区至少比源缓冲区大 1
  • 拷贝内存时,目的缓冲区不小于源缓冲区
  • 内存释放后指针赋值为 nullptr

6. 变更知会

  • 资料修改
  • 变更通知(消息知会 + 邮件知会)