external/cairo/cairo/cairo.RGB24_888.patch |    2 +-
 external/cairo/cairo/san.patch.0           |   11 -----------
 2 files changed, 1 insertion(+), 12 deletions(-)

New commits:
commit ab157ab93e0c5a62927947a8d2b0c1c277e526ac
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Wed Aug 31 10:20:34 2022 +0100
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Wed Aug 31 14:13:50 2022 +0200

    move part of sanitizer patch to the patch that introduced the problem
    
    Change-Id: I3fdec4dd5ae93187aebb4a17f9fb01f0a536c9cf
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139094
    Tested-by: Caolán McNamara <caol...@redhat.com>
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

diff --git a/external/cairo/cairo/cairo.RGB24_888.patch 
b/external/cairo/cairo/cairo.RGB24_888.patch
index 6b2befabcc6c..d4f31c5cb81d 100644
--- a/external/cairo/cairo/cairo.RGB24_888.patch
+++ b/external/cairo/cairo/cairo.RGB24_888.patch
@@ -36,7 +36,7 @@ diff -ru cairo-1.17.4.orig/src/cairo-image-source.c 
cairo-1.17.4/src/cairo-image
        return pixman_image_create_solid_fill (&color);
  
 +    case CAIRO_FORMAT_RGB24_888:
-+      pixel = *(uint32_t *) (image->data + y * image->stride + 3 * x);
++      pixel = (uint32_t)(image->data + y * image->stride + 3 * x)[0] | 
((uint32_t)(image->data + y * image->stride + 3 * x)[1] << 8) | 
((uint32_t)(image->data + y * image->stride + 3 * x)[2] << 16);
 +      pixel &= 0x00ffffff; /* ignore next pixel bits */
 +      if (pixel == 0)
 +          return _pixman_black_image ();
diff --git a/external/cairo/cairo/san.patch.0 b/external/cairo/cairo/san.patch.0
index 54cf805d5865..aba2c2495e64 100644
--- a/external/cairo/cairo/san.patch.0
+++ b/external/cairo/cairo/san.patch.0
@@ -50,17 +50,6 @@
                    num_clusters * sizeof (cairo_text_cluster_t));
        } else {
            const cairo_glyph_t *cur_glyph;
---- src/cairo-image-source.c
-+++ src/cairo-image-source.c
-@@ -509,7 +509,7 @@
-       return pixman_image_create_solid_fill (&color);
- 
-     case CAIRO_FORMAT_RGB24_888:
--      pixel = *(uint32_t *) (image->data + y * image->stride + 3 * x);
-+      pixel = (uint32_t)(image->data + y * image->stride + 3 * x)[0] | 
((uint32_t)(image->data + y * image->stride + 3 * x)[1] << 8) | 
((uint32_t)(image->data + y * image->stride + 3 * x)[2] << 16);
-       pixel &= 0x00ffffff; /* ignore next pixel bits */
-       if (pixel == 0)
-           return _pixman_black_image ();
 --- src/cairo-surface.c
 +++ src/cairo-surface.c
 @@ -2849,7 +2849,7 @@

Reply via email to