/* goodG2B() - use GoodSource and BadSink */ private static void GoodG2B() { StreamReader data; /* FIX: Open, but do not close the file in the source */ data = File.OpenText(@"GoodSource_OpenText.txt"); Dictionary <int, StreamReader> dataDictionary = new Dictionary <int, StreamReader>(); dataDictionary.Add(0, data); dataDictionary.Add(1, data); dataDictionary.Add(2, data); CWE675_Duplicate_Operations_on_Resource__OpenText_74b.GoodG2BSink(dataDictionary); }
/* goodB2G() - use BadSource and GoodSink */ private static void GoodB2G() { StreamReader data; data = File.OpenText(@"BadSource_OpenText.txt"); /* POTENTIAL FLAW: Close the file in the source */ data.Close(); Dictionary <int, StreamReader> dataDictionary = new Dictionary <int, StreamReader>(); dataDictionary.Add(0, data); dataDictionary.Add(1, data); dataDictionary.Add(2, data); CWE675_Duplicate_Operations_on_Resource__OpenText_74b.GoodB2GSink(dataDictionary); }