Esempio n. 1
0
        /* goodG2B() - use goodsource and badsink */
        private static void GoodG2B()
        {
            long 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__long_large_to_short_75b.GoodG2BSink(dataSerialized);
            }
            catch (SerializationException exceptSerialize)
            {
                IO.Logger.Log(NLog.LogLevel.Warn, "Serialization exception in serialization", exceptSerialize);
            }
        }
Esempio n. 2
0
        public override void Bad()
        {
            long data;

            /* FLAW: Use a number larger than int.MaxValue */
            data = int.MaxValue + 5L;
            /* 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__long_large_to_short_75b.BadSink(dataSerialized);
            }
            catch (SerializationException exceptSerialize)
            {
                IO.Logger.Log(NLog.LogLevel.Warn, "Serialization exception in serialization", exceptSerialize);
            }
        }