[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