cbrunet / python-poppler

Python binding to Poppler-cpp pdf library
GNU General Public License v2.0
95 stars 15 forks source link

Segfault if the document object is not explicitly stored before using search #83

Open 0xbe7a opened 10 months ago

0xbe7a commented 10 months ago

This segfaults:

from poppler import load_from_data, SearchDirection, CaseSensitivity, load_from_file

# https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf
page = load_from_file("dummy.pdf").create_page(0)

page_rect = page.page_rect()

dummy_rect = page.search("Dummy", page_rect, SearchDirection.from_top, CaseSensitivity.case_sensitive)

while this works

from poppler import load_from_data, SearchDirection, CaseSensitivity, load_from_file

# https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf
doc = load_from_file("dummy.pdf")
page = doc.create_page(0)

page_rect = page.page_rect()

dummy_rect = page.search("Dummy", page_rect, SearchDirection.from_top, CaseSensitivity.case_sensitive)