mstamy2/PyPDF2 — pull request #31 by ian-su-sirca (2013-10-02 00:45:36+00:00)
Title: Removing pop in sweepIndirectReferences

When writing pages from a current PDF file into a new one, pyPDF will
attempt to sweep for IndirectObjects in the pages. When sweeping, there
is a check to see if it has already encountered an object by the use of
a stack. However, once this happens, the object is popped from the
stack. If an object is encountered again after this, pyPDF sweeps for
the object again, encountering all other previous objects it had
previously encountered, leading to an infinite loop. Removing the pop
keeps a complete list of IndirectObjects already encountered, preventing
this infinite loop at the cost of slightly increased memory use.