summaryrefslogtreecommitdiff
path: root/external
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2015-01-13 10:54:36 +0100
committerStephan Bergmann <sbergman@redhat.com>2015-01-13 10:54:58 +0100
commitfcfa399067a7606e0ffc426265428b25c8e9260d (patch)
tree59860300d81601ee99b0248206c77b23ff615bfa /external
parent8dd900b698054b1bd11fbe8ec35bce55cd2b3720 (diff)
external/libmwaw: Work around -fsanitize=shift
Change-Id: Ia44ef02bc19653e2a20b2da52f5b5b377950353d
Diffstat (limited to 'external')
-rw-r--r--external/libmwaw/UnpackedTarball_libmwaw.mk1
-rw-r--r--external/libmwaw/ubsan.patch.011
2 files changed, 12 insertions, 0 deletions
diff --git a/external/libmwaw/UnpackedTarball_libmwaw.mk b/external/libmwaw/UnpackedTarball_libmwaw.mk
index e37d82d33628..5338ce52c691 100644
--- a/external/libmwaw/UnpackedTarball_libmwaw.mk
+++ b/external/libmwaw/UnpackedTarball_libmwaw.mk
@@ -16,6 +16,7 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,libmwaw,1))
$(eval $(call gb_UnpackedTarball_add_patches,libmwaw,\
external/libmwaw/0001-ClarisWorks-AppleWorks-spreadsheet-do-not-remove-fir.patch \
external/libmwaw/0002-ClarisWors-AppleWorks-spreadsheet-Oops-correct-of-a-.patch \
+ external/libmwaw/ubsan.patch.0 \
))
# vim: set noet sw=4 ts=4:
diff --git a/external/libmwaw/ubsan.patch.0 b/external/libmwaw/ubsan.patch.0
new file mode 100644
index 000000000000..4a7f21093004
--- /dev/null
+++ b/external/libmwaw/ubsan.patch.0
@@ -0,0 +1,11 @@
+--- src/lib/WingzParser.cxx
++++ src/lib/WingzParser.cxx
+@@ -1120,7 +1120,7 @@
+ MWAWColor colors[4];
+ for (int i=0; i<4; ++i) { // font, back, unknown,font color
+ val=(int) input->readULong(4);
+- int col=((val>>16)&0xFF)|(val&0xFF00)|((val<<16)&0xFFFFFF);
++ int col=((val>>16)&0xFF)|(val&0xFF00)|((val&0xFF)<<16);
+ int high=(val>>24);
+ colors[i]=MWAWColor(uint32_t(col)|0xFF000000);
+ switch (i) {