1**IssueNo**: 2 3**Description**: 4 5**通用规范自检:** 6| 自检项 | 自检结果 | 7| ------------------------------------------------------------ | -------- | 8| 避免使用未明确位宽的整型,选择使用int32_t、uint32_t等类型 |Y/N/NA| 9| 统一采用4个空格缩进 |Y/N/NA| 10| 成员变量命名,采用xxxx_ |Y/N/NA| 11| 系统内创建的线程名以OS_开头,不超过15个字符 |Y/N/NA| 12| 格式化日志打印注意32/64位兼容,防止64位平台编失败 |Y/N/NA| 13| 日志内容 同文件内具备唯一性 |Y/N/NA| 14 15**稳定性自检:** 16| 自检项 | 自检结果 | 17| ------------------------------------------------------------ | -------- | 18| 涉及服务端通过ipc回调至客户端的,是否采用异步调用防止服务被卡死 |Y/N/NA| 19| map\vector\list\set等对象存在并发使用时 是否正确加锁 |Y/N/NA| 20| 非必要不使用可重入锁 |Y/N/NA| 21| 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁 |Y/N/NA| 22| 外部传入的指针使用前是否判空 |Y/N/NA| 23 24 25**安全编码自检:** 26| 自检项 | 自检结果 | 27| -------------------------------------------------------------- | -------- | 28| 反序列化时必须对传入的数组大小进行校验,避免出现超大数组 |Y/N/NA| 29| 新增的成员变量是否正确初始化 |Y/N/NA| 30| 有符号、无符号整型 是否正确进行比较防止出现 int32_t(-1) > uint32_t(1) |Y/N/NA| 31| 禁止仅通过TokenType类型判断绕过权限校验 |Y/N/NA| 32| 指针变量、表示资源描述符的变量、bool变量必须赋初值 |Y/N/NA| 33| 申请内存后的异常退出处理,是否及时进行内存释放 |Y/N/NA| 34| 内存申请前是否对内存大小进行合法性校验 |Y/N/NA| 35| 内存分配后必须判断是否成功 |Y/N/NA| 36| 禁止打印内存地址、文件路径、口令等敏感信息,如有需要,使用private修饰 |Y/N/NA| 37| 有符号、无符号整数之间**运算、比较**时必须严格检查,确保不会出现溢出、反转、除0 |Y/N/NA| 38 39**TDD Result**: 40 41**XTS Result**: