summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--external/poppler/UnpackedTarball_poppler.mk8
-rw-r--r--external/poppler/sanitizer.patch18
2 files changed, 26 insertions, 0 deletions
diff --git a/external/poppler/UnpackedTarball_poppler.mk b/external/poppler/UnpackedTarball_poppler.mk
index 04fdfc228573..b790693889d3 100644
--- a/external/poppler/UnpackedTarball_poppler.mk
+++ b/external/poppler/UnpackedTarball_poppler.mk
@@ -11,9 +11,17 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,poppler))
$(eval $(call gb_UnpackedTarball_set_tarball,poppler,$(POPPLER_TARBALL),,poppler))
+$(eval $(call gb_UnpackedTarball_set_patchlevel,poppler,0))
+
$(eval $(call gb_UnpackedTarball_add_patches,poppler,\
external/poppler/poppler-config.patch.1 \
external/poppler/pch.patch.0 \
))
+ifneq ($(filter -fsanitize=%,$(CC)),)
+$(eval $(call gb_UnpackedTarball_add_patches,poppler, \
+ external/poppler/sanitizer.patch \
+))
+endif
+
# vim: set noet sw=4 ts=4:
diff --git a/external/poppler/sanitizer.patch b/external/poppler/sanitizer.patch
new file mode 100644
index 000000000000..149361661b95
--- /dev/null
+++ b/external/poppler/sanitizer.patch
@@ -0,0 +1,18 @@
+--- poppler/PSOutputDev.cc
++++ poppler/PSOutputDev.cc
+@@ -3111,6 +3111,8 @@
+ bool PSOutputDev::checkPageSlice(Page *page, double /*hDPI*/, double /*vDPI*/, int rotateA, bool useMediaBox, bool crop, int sliceX, int sliceY, int sliceW, int sliceH, bool printing, bool (*abortCheckCbk)(void *data),
+ void *abortCheckCbkData, bool (*annotDisplayDecideCbk)(Annot *annot, void *user_data), void *annotDisplayDecideCbkData)
+ {
++ std::abort();
++#if 0
+ PreScanOutputDev *scan;
+ bool rasterize;
+ bool useFlate, useLZW;
+@@ -3593,5 +3595,6 @@
+
+ return false;
++#endif
+ }
+
+ void PSOutputDev::startPage(int pageNum, GfxState *state, XRef *xrefA)