/* goodG2B() - use goodsource and badsink */
 private static void GoodG2B()
 {
     float data;
     /* FIX: Use a hardcoded number that won't cause underflow, overflow, divide by zero, or loss-of-precision issues */
     data = 2;
     /* serialize data to a byte array */
     byte[] dataSerialized = null;
     try
     {
         BinaryFormatter bf = new BinaryFormatter();
         using (var ms = new MemoryStream())
         {
             bf.Serialize(ms, data);
             dataSerialized = ms.ToArray();
         }
         CWE197_Numeric_Truncation_Error__float_NetClient_to_short_75b.GoodG2BSink(dataSerialized  );
     }
     catch (SerializationException exceptSerialize)
     {
         IO.Logger.Log(NLog.LogLevel.Warn, "Serialization exception in serialization", exceptSerialize);
     }
 }
 public override void Bad()
 {
     float data;
     data = float.MinValue; /* Initialize data */
     /* read input from WebClient */
     {
         WebClient client = new WebClient();
         StreamReader sr = null;
         try
         {
             sr = new StreamReader(client.OpenRead("http://www.example.org/"));
             /* 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 */
             string stringNumber = sr.ReadLine();
             if (stringNumber != null) // avoid NPD incidental warnings
             {
                 try
                 {
                     data = float.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");
         }
         finally
         {
             /* clean up stream reading objects */
             try
             {
                 if (sr != null)
                 {
                     sr.Close();
                 }
             }
             catch (IOException exceptIO)
             {
                 IO.Logger.Log(NLog.LogLevel.Warn, exceptIO, "Error closing StreamReader");
             }
         }
     }
     /* serialize data to a byte array */
     byte[] dataSerialized = null;
     try
     {
         BinaryFormatter bf = new BinaryFormatter();
         using (var ms = new MemoryStream())
         {
             bf.Serialize(ms, data);
             dataSerialized = ms.ToArray();
         }
         CWE197_Numeric_Truncation_Error__float_NetClient_to_short_75b.BadSink(dataSerialized  );
     }
     catch (SerializationException exceptSerialize)
     {
         IO.Logger.Log(NLog.LogLevel.Warn, "Serialization exception in serialization", exceptSerialize);
     }
 }