/* goodG2B() - use goodsource and badsink */
 private void GoodG2B()
 {
     int data;
     /* FIX: Use a hardcoded number that won't cause underflow, overflow, divide by zero, or loss-of-precision issues */
     data = 2;
     CWE190_Integer_Overflow__int_NetClient_square_52b.GoodG2BSink(data );
 }
 /* goodB2G() - use badsource and goodsink */
 private void GoodB2G()
 {
     int data;
     data = int.MinValue; /* Initialize data */
     /* read input from WebClient */
     {
         try
         {
             string stringNumber = "";
             using (WebClient client = new WebClient())
             {
                 using (StreamReader sr = new StreamReader(client.OpenRead("http://www.example.org/")))
                 {
                     /* POTENTIAL FLAW: Read data from a web server with WebClient */
                     /* This will be reading the first "line" of the response body,
                     * which could be very long if there are no newlines in the HTML */
                     stringNumber = sr.ReadLine();
                 }
             }
             if (stringNumber != null) // avoid NPD incidental warnings
             {
                 try
                 {
                     data = int.Parse(stringNumber.Trim());
                 }
                 catch (FormatException exceptNumberFormat)
                 {
                     IO.Logger.Log(NLog.LogLevel.Warn, exceptNumberFormat, "Number format exception parsing data from string");
                 }
             }
         }
         catch (IOException exceptIO)
         {
             IO.Logger.Log(NLog.LogLevel.Warn, exceptIO, "Error with stream reading");
         }
     }
     CWE190_Integer_Overflow__int_NetClient_square_52b.GoodB2GSink(data );
 }