/* goodB2G() - use badsource and goodsink */
        private static void GoodB2G(HttpRequest req, HttpResponse resp)
        {
            string data;

            data = ""; /* Initialize data */
            /* read input from WebClient */
            {
                try
                {
                    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 */
                            data = sr.ReadLine();
                        }
                    }
                }
                catch (IOException exceptIO)
                {
                    IO.Logger.Log(NLog.LogLevel.Warn, exceptIO, "Error with stream reading");
                }
            }
            string[] dataArray = new string[5];
            dataArray[2] = data;
            CWE113_HTTP_Response_Splitting__Web_NetClient_setHeader_66b.GoodB2GSink(dataArray, req, resp);
        }
        /* goodG2B() - use goodsource and badsink */
        private static void GoodG2B(HttpRequest req, HttpResponse resp)
        {
            string data;

            /* FIX: Use a hardcoded string */
            data = "foo";
            string[] dataArray = new string[5];
            dataArray[2] = data;
            CWE113_HTTP_Response_Splitting__Web_NetClient_setHeader_66b.GoodG2BSink(dataArray, req, resp);
        }