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