/* goodG2B() - use goodsource and badsink */
 private static void GoodG2B()
 {
     int data = CWE191_Integer_Underflow__int_Connect_tcp_multiply_61b.GoodG2BSource();
     if(data < 0) /* ensure we won't have an overflow */
     {
         /* POTENTIAL FLAW: if (data * 2) < int.MinValue, this will underflow */
         int result = (int)(data * 2);
         IO.WriteLine("result: " + result);
     }
 }
 /* goodB2G() - use badsource and goodsink */
 private static void GoodB2G()
 {
     int data = CWE191_Integer_Underflow__int_Connect_tcp_multiply_61b.GoodB2GSource();
     if(data < 0) /* ensure we won't have an overflow */
     {
         /* FIX: Add a check to prevent an underflow from occurring */
         if (data > (int.MinValue/2))
         {
             int result = (int)(data * 2);
             IO.WriteLine("result: " + result);
         }
         else
         {
             IO.WriteLine("data value is too small to perform multiplication.");
         }
     }
 }