240 发简信
IP属地:北京
  • 【学习】安全编程之“不安全函数”篇

    规则1:禁止外部可控数据作为system、popen、WinExec、ShellExecute、execl, execlp, execle, e...

  • 【学习】安全编程之“安全函数”篇

    要正确使用安全函数。 规则1:正确设置安全函数中的destMax参数 安全函数的destMax参数设置应当准确,有效,并满足良好的编码风格要求。...

  • 【学习】安全编程之“内存”篇

    规则1:内存申请前,必须对申请内存大小进行合法性校验 内存申请的大小可能来自于外部数据,必须检查其合法性,防止过多地、非法地申请内存。不能申请0...

  • 【学习】安全编程之“整数”篇

    规则1:整数之间运算时必须严格检查,确保不会出现溢出、反转、除0 在计算机中,整数存储的长度是固定的(例如32位或64位),当整数之间进行运算时...

  • 【学习】安全编程之“字符串/数组”篇

    规则1:确保有足够的存储空间 部分字符串处理函数由于设计时安全考虑不足,或者存在一些隐含的目的缓冲区长度要求,容易被误用,导致缓冲区写溢出。典型...

  • 【学习】安全编程之“安全退出”篇

    规则1:禁用atexit函数 atexit函数注册若干个有限的函数,当exit被调用后,自动调用由atexit事先注册的函数。 当资源不再使用后...

  • 【学习】安全编程之“类”篇

    规则1:如果有构造函数,则必须有析构函数 析构函数的目的是为了在类释放的时候做相应的清理工作,以免编码人员忘记资源的清理。 规则2:构造函数内不...

  • 【学习】安全编程之“异常机制”篇

    规则1:禁用C++异常机制 严禁使用C++的异常机制,所有的错误都应该通过错误值在函数之间传递并做相应的判断, 而不应该通过异常机制进行错误处理...

  • 【学习】安全编程之“循环”篇

    规则1:循环必须有退出条件 循环如果没有退出条件,那么程序无法安全退出。 以下代码,在一个大循环内接收外部数据并进行处理,但没有退出条件,会导致...