Skip to content

Commit 78ee80a

Browse files
committed
PdfParser: Don't use list as def in read_prev_trailer
It's not recommended to use the empty list as default value in functions or methods because Python interpreter evaluates during parsing, so it will be the same list for different calls. https://pylint.pycqa.org/en/latest/user_guide/messages/warning/dangerous-default-value.html
1 parent 9289863 commit 78ee80a

1 file changed

Lines changed: 3 additions & 1 deletion

File tree

src/PIL/PdfParser.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -692,7 +692,7 @@ def read_trailer(self) -> None:
692692
self.read_prev_trailer(self.trailer_dict[b"Prev"])
693693

694694
def read_prev_trailer(
695-
self, xref_section_offset: int, processed_offsets: list[int] = []
695+
self, xref_section_offset: int, processed_offsets: list[int] = None
696696
) -> None:
697697
assert self.buf is not None
698698
trailer_offset = self.read_xref_table(xref_section_offset=xref_section_offset)
@@ -708,6 +708,8 @@ def read_prev_trailer(
708708
)
709709
trailer_dict = self.interpret_trailer(trailer_data)
710710
if b"Prev" in trailer_dict:
711+
if processed_offsets is None:
712+
processed_offsets = []
711713
processed_offsets.append(xref_section_offset)
712714
check_format_condition(
713715
trailer_dict[b"Prev"] not in processed_offsets, "trailer loop found"

0 commit comments

Comments
 (0)