一些原始的 C 运行时函数容易受到缓冲区溢出攻击。例如,strnlen(NULL, 16) 会导致运行时错误。
strnlen(NULL, 16)
Win32 中提供了一个更安全的替代方案;strnlen_s(NULL, 16) 只是简单地返回 0 而不尝试溢出缓冲区。
strnlen_s(NULL, 16)
0
有关避免缓冲区溢出的更多信息