Beispiel #1
0
        public void decompressionBombInsideMultipleStreamsTimingTest02()
        {
            MemoryLimitsAwareHandler memoryHandler = new MemoryLimitsAwareHandler();

            memoryHandler.SetMaxSizeOfSingleDecompressedPdfStream(int.MaxValue / 10 * 9);  // just to ensure that the multiple streams related exception is thrown
            memoryHandler.SetMaxSizeOfDecompressedPdfStreamsSum(1000000);

            ReaderProperties properties = new ReaderProperties();

            properties.SetMemoryLimitsAwareHandler(memoryHandler);

            PdfReader reader = new PdfReader(properties, TEST_RESOURCES_PATH + "acsploit_timing2.pdf");

            testDecompressionBomb(reader, MemoryLimitsAwareException.DuringDecompressionMultipleStreamsInSumOccupiedMoreMemoryThanAllowed);
        }
Beispiel #2
0
        public void decompressionBombInsideSingleStreamTest01()
        {
            MemoryLimitsAwareHandler memoryHandler = new MemoryLimitsAwareHandler();

            memoryHandler.SetMaxSizeOfSingleDecompressedPdfStream(5000000);
            memoryHandler.SetMaxSizeOfDecompressedPdfStreamsSum(1000000000000000000l); // just to ensure that the single stream related exception is thrown

            ReaderProperties properties = new ReaderProperties();

            properties.SetMemoryLimitsAwareHandler(memoryHandler);

            PdfReader reader = new PdfReader(properties, TEST_RESOURCES_PATH + "acsploit_output.pdf");

            testDecompressionBomb(reader, MemoryLimitsAwareException.DuringDecompressionSingleStreamOccupiedMoreMemoryThanAllowed);
        }