JAVA.UNINIT.LOCAL_VAR

初期化されていないローカル変数。

脆弱性とリスク

関数を追加または変更するときに適切な値を初期値として使用すると、意図しない操作や矛盾が発生する場合があります。

軽減と防止

ローカル変数は、宣言時に意図的に初期化して、それらの使用と可能な値を明確にしなければなりません。

例 1

コピー
public class C09 {

    int m_i; //OK

    void test(boolean someCond) {

        //detect uninitialized local variable for byte, short, int, long, float, double, boolean, char

       byte byteUninitialized; //NG
       byteUninitialized = 1;
       byte byteInitialized = 1;//OK

       short sUninitalzied; //NG
       sUninitalzied = 1;

       int iUninitalzied; //NG
       iUninitalzied = 1;

       long lUninitalzied; //NG
       lUninitalzied = 1;

       float fUninitalzied; //NG
       fUninitalzied = 0.1F;

       double dbUninitalzied; //NG
       dbUninitalzied = 0.1;

        boolean isUninitialized;//NG
        isUninitialized = false;

        char cUninitalzied; //NG
        cUninitalzied = 'a';

        String sUninialized;//OK

    }

}