/* goodG2B() - use goodsource and badsink */ public static void GoodG2BSink(CWE400_Uncontrolled_Resource_Consumption__NetClient_for_loop_67a.Container countContainer) { int count = countContainer.containerOne; int i = 0; /* POTENTIAL FLAW: For loop using count as the loop variant and no validation */ for (i = 0; i < count; i++) { IO.WriteLine("Hello"); } }
/* goodB2G() - use badsource and goodsink */ public static void GoodB2GSink(CWE400_Uncontrolled_Resource_Consumption__NetClient_for_loop_67a.Container countContainer) { int count = countContainer.containerOne; int i = 0; /* FIX: Validate count before using it as the for loop variant */ if (count > 0 && count <= 20) { for (i = 0; i < count; i++) { IO.WriteLine("Hello"); } } }