4.3.13 -errsecurity=level
-errsecurity オプションを使用して、コードのセキュリティーに問題がないか検査することができます。
level は、次の表に示す値のいずれかでなければいけません。
表 4-5  -errsecurity のフラグ
| 
|  |  |  
| core | このレベルでは、たいていの場合で安全でない、または検査することの難しいソースコードの構文がないかどうかを検査します。このレベルで行われる検査には次のものがあります。 
printf() および scanf() 系の関数での変数書式文字列の使用
scanf() 関数における非結合文字列 (%s) 形式の使用
安全な使用法のない関数の使用:  gets()、   cftime()、  ascftime() 、  creat()
O_CREAT と組み合わせた open() の不正使用 このレベルで警告が生成されるソースコードはバグと考えてください。問題のコードを変更することを推奨します。どんな場合でも、単純明快でより安全な別の方法があります。 |  
| standard | このレベルには、core レベルのすべての検査に加えて、安全かもしれないが、より良い別の方法がある構文のすべての検査が含まれます。新しく作成したコードを検査をするときは、このレベルを推奨します。このレベルで追加される検査には、次のものがあります。 |  
| extended | このレベルには、core および standard レベルのすべての検査など、もっとも完全な検査セットが含まれます。また、状況によっては安全でない可能性がある構文について、多数の警告が生成されます。このレベルの検査は、コードを見直す際の一助になりますが、許容しうるソースコードが守る必要のある基準と考える必要はありません。このレベルで追加される検査には、次のものがあります。 |  
| %none | -errsecurity の検査を無効にします。 |  | 
-errsecurity の値が指定されていない場合は、-errsecurity=%none に設定されます。-errsecurity は指定されているが、引数が指定されていない場合は、-errsecurity=standard に設定されます。