CS.UNINIT.LOCAL_VAR
初期化されていないローカル変数。
脆弱性とリスク
関数を追加または変更するときに適切な値を初期値として使用すると、意図しない演算や矛盾が発生する場合があります。
軽減と防止
ローカル変数は、宣言時に意図的に初期化して、それらの使用と可能な値を明確にしなければなりません。
例
コピー
namespace kmcustom
{
class C09
{
private int iUninitializedMember;//OK
void test()
{
//bool, byte, sbyte, char, decimal, double, float, int, uint, long, ulong, ushort, short
bool bInitialized = true;//OK
bool bUnitialized;//NG
bUnitialized = true;
byte byteUninitialized;
byteUninitialized = 1;
sbyte sbUninitalized;//NG
sbUninitalized = 1;
char cUninitalzied; //NG
cUninitalzied = 'a';
decimal decUninitalzied; //NG
decUninitalzied = 1;
double dbUninitalzied; //NG
dbUninitalzied = 0.1;
float fUninitalzied; //NG
fUninitalzied = 0.1F;
int iUninitalzied; //NG
iUninitalzied = 1;
uint uiUninitalzied; //NG
uiUninitalzied = 1;
long lUninitalzied; //NG
lUninitalzied = 1;
ulong ulUninitalzied; //NG
ulUninitalzied = 1;
ushort usUninitalzied; //NG
usUninitalzied = 1;
short sUninitalzied; //NG
sUninitalzied = 1;
}
}
}