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); }
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); }