File tree 2 files changed +11
-0
lines changed
2 files changed +11
-0
lines changed Original file line number Diff line number Diff line change @@ -570,6 +570,8 @@ def read_unsized_from_stream(
570
570
try :
571
571
try :
572
572
key = read_object (stream , pdf )
573
+ if isinstance (key , NullObject ):
574
+ break
573
575
if not isinstance (key , NameObject ):
574
576
raise PdfReadError (
575
577
f"Expecting a NameObject for key but found { key !r} "
Original file line number Diff line number Diff line change @@ -1703,3 +1703,12 @@ def test_space_in_names_to_continue_processing(caplog):
1703
1703
reader = PdfReader (BytesIO (b ), strict = True )
1704
1704
with pytest .raises (PdfReadError ):
1705
1705
obj = reader .get_object (70 )
1706
+
1707
+
1708
+ @pytest .mark .enable_socket ()
1709
+ def test_unbalanced_brackets_in_dictionary_object (caplog ):
1710
+ """Cf #2877"""
1711
+ url = "https://github.com/user-attachments/files/17162634/7f40cb209fb97d1782bffcefc5e7be40.pdf"
1712
+ name = "iss2877.pdf" # reused
1713
+ reader = PdfReader (BytesIO (get_data_from_url (url , name = name )))
1714
+ assert len (reader .pages ) == 43 # note: /Count = 46 but 3 kids are None
You can’t perform that action at this time.
0 commit comments