Skip to content

Commit bd7500d

Browse files
authored
BUG: IndexError for getPage() of decryped file (#359)
ISSUE: Problem appears because _flatten() method sets self.flattenedPages before it tries to get pages and doesn't set it back to None in case of error. This PR just makes _flatten() to set self.flattenedPages to an empty array after it successfully got pages. FIX: Call `self.flattenedPages` after calling `catalog["/Pages"].getObject()` Closes #327
1 parent 733989a commit bd7500d

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

PyPDF2/pdf.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1575,9 +1575,11 @@ def _flatten(self, pages=None, inherit=None, indirectRef=None):
15751575
if inherit is None:
15761576
inherit = dict()
15771577
if pages is None:
1578-
self.flattenedPages = []
1578+
# Fix issue 327: set flattenedPages attribute only for
1579+
# decrypted file
15791580
catalog = self.trailer["/Root"].getObject()
15801581
pages = catalog["/Pages"].getObject()
1582+
self.flattenedPages = []
15811583

15821584
t = "/Pages"
15831585
if "/Type" in pages:

0 commit comments

Comments
 (0)