external/cairo/pixman/pixman-ubsan.patch |   11 +++++++++++
 1 file changed, 11 insertions(+)

New commits:
commit 20d4d543a5293abe69c91f407c3c69b04d6d9af6
Author: Caolán McNamara <caol...@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 <caol...@redhat.com>
    Tested-by: Caolán McNamara <caol...@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;
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to