Sunのセキュリティに関するルールセットです。
配列フィールドをメソッドの戻り値として直接返している箇所を検出します。
public class Foo {
private String[] datas;
public String[] getDatas() {
return datas;
}
}
このようにすると、getDatas() からの戻り値を呼び出し側で変更した場合に
datasフィールドの内容が変更される事になります。
これは、今後のデバッグを非常に困難にします。
こういった事態を避けるために、配列のコピーを返すようにすれば問題は発生しません。
MethodReturnsInternalArray の逆です。
メソッドの引数として与えられた配列を、フィールドに直接代入している箇所を検出します。
これも同様に、配列のコピーを使うようにすれば問題は発生しません。
|
|