4.3.13 -errsecurity=level
使用 -errsecurity 选项检查您的代码是否有安全漏洞。
level 必须为下表中显示的值之一。
表 4-5 -errsecurity 标志
|
|
core
|
此级别检查的源代码构造几乎始终是不安全或难以验证的。此级别的检查包括:
-
将变量格式字符串用于 printf() 和 scanf() 系列函数
-
将无限制的字符串 (%s) 格式用于 scanf() 函数
-
不安全地使用函数:gets()、cftime()、ascftime()、creat()
-
错误地使用 open() 和 O_CREAT
将在此级别生成警告的源代码视为错误。应更改有问题的源代码。在所有情况下,都应采用更安全简单的代码。
|
standard
|
此级别检查包括 core 级别的所有检查,以及可能安全、但有更好的可用替代代码的构造的检查。检查新近编写的代码时建议采用此级别检查。此级别的其他检查包括:
|
extended
|
此级别检查包含几乎所有检查,包括 core 级别和 standard 级别的所有检查。此外,还会生成许多有关在某些情况下可能不安全的构造的警告。此级别的检查可用作检查代码的辅助措施,但无需将这些检查用作判断源代码是否可接受的标准检查。此级别的其他检查包括:
|
%none
|
禁用 -errsecurity 检查
|
|
如果未指定 -errsecurity 的设置,lint 会将它设置为 -errsecurity=%none。如果指定 -errsecurity 但不指定参数,lint 会将其设置为 -errsecurity=standard。