summaryrefslogtreecommitdiff
path: root/external
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2022-08-31 10:20:34 +0100
committerCaolán McNamara <caolanm@redhat.com>2022-08-31 14:13:50 +0200
commitab157ab93e0c5a62927947a8d2b0c1c277e526ac (patch)
tree8b2158f845acbb3cb93a9658c22f8573f789e81c /external
parent0a54d331f4fbc2df167b97a92e375dd6cafb5576 (diff)
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 <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'external')
-rw-r--r--external/cairo/cairo/cairo.RGB24_888.patch2
-rw-r--r--external/cairo/cairo/san.patch.011
2 files changed, 1 insertions, 12 deletions
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 @@