目录 C/C++安全规范 1.命名安全 1.1通用命名安全 1.2文件命名安全 1.3函数命名安全 1.4类型命名安全 1.5变量命名安全 2.使用安全 2.1不能直接使用无长度限制的字符拷贝函数 2.2创建进程类的函数的安全规范 2.3尽量减少使用 _alloca 和可变长度数组 2.5防止泄露指针(包括%p)的值 2.8进制问题 3. 缓冲区溢出 3.1使用安全的函数 3.2检查输入的长度 3.3使用动态内存分配 3.4使用STL容器 3.5检查输入的有效性 3.6避免整数溢出 4. 编程习惯安全 4.1switch中应有default 4.2不应当在Debug或错误信息中提供过多内容 4.3不应该在客户端代码中硬编码对称加密秘钥 4.6检查复制粘贴的重复代码(相同代码通常代表错误) 5. 整数操作安全 5.1整数操作不当的常见场景 5.2整数操作不当会导致内存分配出错 5.4使用整数要多校验数值的合法性 6. 文件操作安全 6.1避免路径穿越问题 6.2避免相对路径导致的安全问题(DLL、EXE劫持等问题) 6.3文件权限控制 7. 内存安全 7.1常见的危险的堆操作 7.2内存管理使用不当 7.3防止任意地址写 7.4防止各种越界写(向前/向后)