diff options
author | Caolán McNamara <caolanm@redhat.com> | 2022-08-31 10:20:34 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2022-08-31 14:13:50 +0200 |
commit | ab157ab93e0c5a62927947a8d2b0c1c277e526ac (patch) | |
tree | 8b2158f845acbb3cb93a9658c22f8573f789e81c /external | |
parent | 0a54d331f4fbc2df167b97a92e375dd6cafb5576 (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.patch | 2 | ||||
-rw-r--r-- | external/cairo/cairo/san.patch.0 | 11 |
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 @@ |