[Libreoffice-commits] core.git: external/cairo
Caolán McNamara
caolanm at redhat.com
Fri Nov 24 12:44:57 UTC 2017
external/cairo/pixman/pixman-ubsan.patch | 11 +++++++++++
1 file changed, 11 insertions(+)
New commits:
commit 20d4d543a5293abe69c91f407c3c69b04d6d9af6
Author: Caolán McNamara <caolanm at redhat.com>
Date: Fri Nov 24 12:21:45 2017 +0000
ubsan: runtime error: left shift of 255 by 24 places
pixman-fast-path.c:2839:21: runtime error: left shift of 255 by 24 places cannot be represented in type 'int'
Change-Id: I9afeee371aeef24bfc0c809b142b424c653fea2e
Reviewed-on: https://gerrit.libreoffice.org/45223
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/external/cairo/pixman/pixman-ubsan.patch b/external/cairo/pixman/pixman-ubsan.patch
index 339a26719947..a26933b2398d 100644
--- a/external/cairo/pixman/pixman-ubsan.patch
+++ b/external/cairo/pixman/pixman-ubsan.patch
@@ -9,3 +9,14 @@
#define pixman_fixed_to_double(f) (double) ((f) / (double) pixman_fixed_1)
#define pixman_double_to_fixed(d) ((pixman_fixed_t) ((d) * 65536.0))
#define pixman_fixed_frac(f) ((f) & pixman_fixed_1_minus_e)
+--- misc/pixman/pixman/pixman-fast-path.c
++++ misc/build/pixman/pixman/pixman-fast-path.c
+@@ -2836,7 +2836,7 @@
+ sgtot = CLIP (sgtot, 0, 0xff);
+ sbtot = CLIP (sbtot, 0, 0xff);
+
+- buffer[k] = (satot << 24) | (srtot << 16) | (sgtot << 8) | (sbtot << 0);
++ buffer[k] = ((uint32_t)satot << 24) | (srtot << 16) | (sgtot << 8) | (sbtot << 0);
+
+ next:
+ vx += ux;
More information about the Libreoffice-commits
mailing list