CS.UNCHECKED.CAST
この警告は、タイプ Object を持つ 1 つのオブジェクトが、データを失ったかプログラム障害が発生した可能性がある別のオブジェクトにキャストされる状況で報告されます。
脆弱性とリスク
データが失われるか、プログラムが失敗する可能性があります。
例 1
コピー
using System;
public class A {
public int a;
}
public class ClassCastTests {
public void foo() {
A a;
Object o = new object();
a = (A)o;
}
}
クラス Object のオブジェクト o とクラス A のオブジェクト a は 7 ~ 8 行目で宣言されます。9 行目で、Object は A にキャストされますが、これは無効です。
外部参考資料
セキュリティトレーニング
Secure Code Warrior が提供しているアプリケーションセキュリティトレーニング教材。