summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--external/libmspub/UnpackedTarball_libmspub.mk6
-rw-r--r--external/libmspub/ubsan.patch12
2 files changed, 18 insertions, 0 deletions
diff --git a/external/libmspub/UnpackedTarball_libmspub.mk b/external/libmspub/UnpackedTarball_libmspub.mk
index 044ce9656c49..cce7b5423ad0 100644
--- a/external/libmspub/UnpackedTarball_libmspub.mk
+++ b/external/libmspub/UnpackedTarball_libmspub.mk
@@ -11,4 +11,10 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,libmspub))
$(eval $(call gb_UnpackedTarball_set_tarball,libmspub,$(MSPUB_TARBALL)))
+$(eval $(call gb_UnpackedTarball_set_patchlevel,libmspub,0))
+
+$(eval $(call gb_UnpackedTarball_add_patches,libmspub,\
+ external/libmspub/ubsan.patch \
+))
+
# vim: set noet sw=4 ts=4:
diff --git a/external/libmspub/ubsan.patch b/external/libmspub/ubsan.patch
new file mode 100644
index 000000000000..b58249e18e0f
--- /dev/null
+++ b/external/libmspub/ubsan.patch
@@ -0,0 +1,12 @@
+--- src/lib/MSPUBContentChunkType.h
++++ src/lib/MSPUBContentChunkType.h
+@@ -27,7 +27,8 @@
+ CELLS = 0x63,
+ FONT = 0x6C,
+ IMAGE_2K, //these don't exist in Pub 2k3 so their value in the enum is not used.
+- IMAGE_2K_DATA
++ IMAGE_2K_DATA,
++ MSPUBContentChunkType_dummy=0xFF // MSPUBParser.cpp:2359:9: runtime error: load of value 138, which is not a valid value for type 'libmspub::MSPUBContentChunkType'
+ };
+ } // namespace libmspub
+