This warning is reported in loop iterators when one object, with type Object, is cast to another object with the possibility of lost data or even program failure.

Vulnerability and risk

Either data may be lost, or the program may fail.

Example 1

  using System.Collections;
  class Boo {
     public int a;
  class ForEachTest {
      static void Main(string[] args) {
          ArrayList o = new ArrayList();
          foreach (Boo i in o) {}

Object o of class ArrayList is declared on line 7. Then, on line 8, in loop iterator Object can be cast to Boo, which is invalid.

Security training

Application security training materials provided by Secure Code Warrior.