From 3a4a2e14347f4a977416beed0acf8c6f493da7f6 Mon Sep 17 00:00:00 2001 From: Peter Zhigalov Date: Sat, 16 Jul 2022 03:56:45 +0700 Subject: [PATCH] Update glib, cairo, harfbuzz, pango, openssl, sqlite --- modulesets/bootstrap.modules | 15 +++++--- ...t-Add-support-for-color-emoji-glyphs.patch | 4 +-- ...heck-font-status-in-show_text_glyphs.patch | 4 +-- ...e-in-_cairo_mono_scan_converter_crea.patch | 4 +-- ...ter-free-in-cairo_scaled_font_create.patch | 4 +-- ...free-in-_cairo_svg_surface_create_fo.patch | 4 +-- ...e-in-_cairo_ps_surface_emit_base85_s.patch | 5 +-- ...ocal-copy-of-snapshot-after-attachin.patch | 4 +-- ...-Fix-deadlock-in-cairo-scaled-font.c.patch | 4 +-- ...-Fix-deadlock-in-cairo-scaled-font.c.patch | 4 +-- ...ding-beyond-the-end-of-image-surface.patch | 34 +++++++++++++++++++ patches/openssl-fix-missing-header.patch | 30 ++++++++++++++++ 12 files changed, 93 insertions(+), 23 deletions(-) create mode 100644 patches/0010-quartz-Avoid-reading-beyond-the-end-of-image-surface.patch create mode 100644 patches/openssl-fix-missing-header.patch diff --git a/modulesets/bootstrap.modules b/modulesets/bootstrap.modules index ce853f6..5721aa9 100644 --- a/modulesets/bootstrap.modules +++ b/modulesets/bootstrap.modules @@ -182,7 +182,7 @@ - + @@ -208,6 +208,8 @@ + + @@ -216,7 +218,7 @@ - + @@ -227,7 +229,7 @@ - + @@ -343,7 +345,10 @@ - + + + + @@ -373,7 +378,7 @@ - + diff --git a/patches/0001-quartz-font-Add-support-for-color-emoji-glyphs.patch b/patches/0001-quartz-font-Add-support-for-color-emoji-glyphs.patch index cd31f71..98dc312 100644 --- a/patches/0001-quartz-font-Add-support-for-color-emoji-glyphs.patch +++ b/patches/0001-quartz-font-Add-support-for-color-emoji-glyphs.patch @@ -1,7 +1,7 @@ -From 54add68aecec4351f1e148241366ccf2d659e784 Mon Sep 17 00:00:00 2001 +From 6a07c0ab69f630aea1282b3a285fb30cbe4c5564 Mon Sep 17 00:00:00 2001 From: Suyuan Chang Date: Sun, 27 Jan 2019 22:56:54 -0800 -Subject: [PATCH 1/9] quartz-font: Add support for color emoji glyphs. +Subject: [PATCH 01/10] quartz-font: Add support for color emoji glyphs. Treat the macOS system font 'Apple Color Emoji' as color glyphs and use color surface to render it. diff --git a/patches/0002-Check-font-status-in-show_text_glyphs.patch b/patches/0002-Check-font-status-in-show_text_glyphs.patch index 4d6d418..4117bc9 100644 --- a/patches/0002-Check-font-status-in-show_text_glyphs.patch +++ b/patches/0002-Check-font-status-in-show_text_glyphs.patch @@ -1,7 +1,7 @@ -From 4bbb1705f9247409baf0c7a948232402beeea332 Mon Sep 17 00:00:00 2001 +From 3825561ef06b1ba7b614ad49bbedd4d7f05b59b3 Mon Sep 17 00:00:00 2001 From: Adrian Johnson Date: Tue, 5 Apr 2022 17:38:13 +0930 -Subject: [PATCH 2/9] Check font status in show_text_glyphs +Subject: [PATCH 02/10] Check font status in show_text_glyphs to prevent asserting in _cairo_scaled_font_freeze_cache() diff --git a/patches/0003-Fix-a-double-free-in-_cairo_mono_scan_converter_crea.patch b/patches/0003-Fix-a-double-free-in-_cairo_mono_scan_converter_crea.patch index 219f949..503a518 100644 --- a/patches/0003-Fix-a-double-free-in-_cairo_mono_scan_converter_crea.patch +++ b/patches/0003-Fix-a-double-free-in-_cairo_mono_scan_converter_crea.patch @@ -1,7 +1,7 @@ -From 98b85ae5704b3e5cbbeb5f9ea4fd06ff1862a9ef Mon Sep 17 00:00:00 2001 +From f53dc4f559575acd6643d11f3f7f3d6875627aaf Mon Sep 17 00:00:00 2001 From: Feysh INC Date: Fri, 22 Apr 2022 16:43:59 +0800 -Subject: [PATCH 3/9] Fix a double free in _cairo_mono_scan_converter_create +Subject: [PATCH 03/10] Fix a double free in _cairo_mono_scan_converter_create When `_mono_scan_converter_init` failed, `self->converter->polygon` will be freed by `polygon_fini()`. However, diff --git a/patches/0004-Fix-a-use-after-free-in-cairo_scaled_font_create.patch b/patches/0004-Fix-a-use-after-free-in-cairo_scaled_font_create.patch index 9d6faa5..a2b1535 100644 --- a/patches/0004-Fix-a-use-after-free-in-cairo_scaled_font_create.patch +++ b/patches/0004-Fix-a-use-after-free-in-cairo_scaled_font_create.patch @@ -1,7 +1,7 @@ -From 426f05307808a7df6bfe93bad3c24fbb24673b4b Mon Sep 17 00:00:00 2001 +From 39d4ffa1361171ba00f177ce3a8c16359794f9d1 Mon Sep 17 00:00:00 2001 From: Feysh INC Date: Fri, 22 Apr 2022 17:09:47 +0800 -Subject: [PATCH 4/9] Fix a use after free in cairo_scaled_font_create +Subject: [PATCH 04/10] Fix a use after free in cairo_scaled_font_create When `font_face` is freed by `cairo_font_face_destroy()` at line 1,150, the following call `_cairo_font_face_set_error (font_face, status)` diff --git a/patches/0005-Fix-a-use-after-free-in-_cairo_svg_surface_create_fo.patch b/patches/0005-Fix-a-use-after-free-in-_cairo_svg_surface_create_fo.patch index 6237f2b..503ae31 100644 --- a/patches/0005-Fix-a-use-after-free-in-_cairo_svg_surface_create_fo.patch +++ b/patches/0005-Fix-a-use-after-free-in-_cairo_svg_surface_create_fo.patch @@ -1,7 +1,7 @@ -From 0279943104094aa7aef00aa30f3052569360ece1 Mon Sep 17 00:00:00 2001 +From 589a39678e24ad72e8f6d45920f939e9788cae34 Mon Sep 17 00:00:00 2001 From: Feysh INC Date: Fri, 22 Apr 2022 21:24:09 +0800 -Subject: [PATCH 5/9] Fix a use after free in +Subject: [PATCH 05/10] Fix a use after free in _cairo_svg_surface_create_for_stream_internal When `_cairo_svg_surface_create_for_document()` failed, it will free the diff --git a/patches/0006-fixed-double-free-in-_cairo_ps_surface_emit_base85_s.patch b/patches/0006-fixed-double-free-in-_cairo_ps_surface_emit_base85_s.patch index 59cdf55..49dcdcd 100644 --- a/patches/0006-fixed-double-free-in-_cairo_ps_surface_emit_base85_s.patch +++ b/patches/0006-fixed-double-free-in-_cairo_ps_surface_emit_base85_s.patch @@ -1,7 +1,8 @@ -From 8f15bbf327adac48262e6fe329baf76581a42a73 Mon Sep 17 00:00:00 2001 +From 65b0175f297347713a6438bab6569e48cde00e04 Mon Sep 17 00:00:00 2001 From: Ayman El Didi Date: Wed, 20 Apr 2022 15:11:14 -0600 -Subject: [PATCH 6/9] fixed double free in _cairo_ps_surface_emit_base85_string +Subject: [PATCH 06/10] fixed double free in + _cairo_ps_surface_emit_base85_string When taking the CAIRO_PS_COMPRESS_DEFLATE branch of the switch statement in _cairo_ps_surface_emit_base85_string, memory is freed diff --git a/patches/0007-quartz-Destroy-local-copy-of-snapshot-after-attachin.patch b/patches/0007-quartz-Destroy-local-copy-of-snapshot-after-attachin.patch index 87a18d8..06a6d1b 100644 --- a/patches/0007-quartz-Destroy-local-copy-of-snapshot-after-attachin.patch +++ b/patches/0007-quartz-Destroy-local-copy-of-snapshot-after-attachin.patch @@ -1,7 +1,7 @@ -From b9ed20e5d2df31f29f360c8c253a21e713cfce5f Mon Sep 17 00:00:00 2001 +From b6f7719ce43d143b996a07571e65849771ade971 Mon Sep 17 00:00:00 2001 From: John Ralls Date: Sat, 23 Apr 2022 16:38:01 -0700 -Subject: [PATCH 7/9] [quartz] Destroy local copy of snapshot after attaching +Subject: [PATCH 07/10] [quartz] Destroy local copy of snapshot after attaching it. Because cairo_surface_snapshot_attach refs the snapshot. diff --git a/patches/0008-Fix-deadlock-in-cairo-scaled-font.c.patch b/patches/0008-Fix-deadlock-in-cairo-scaled-font.c.patch index 8964a6a..03ff539 100644 --- a/patches/0008-Fix-deadlock-in-cairo-scaled-font.c.patch +++ b/patches/0008-Fix-deadlock-in-cairo-scaled-font.c.patch @@ -1,7 +1,7 @@ -From 196e253174a6df0a13451d16f666bd8f44eccab2 Mon Sep 17 00:00:00 2001 +From d1f7fad5ff81476e7d767fde903f17f839e53903 Mon Sep 17 00:00:00 2001 From: Adrian Johnson Date: Fri, 27 May 2022 21:36:31 +0930 -Subject: [PATCH 8/9] Fix deadlock in cairo-scaled-font.c +Subject: [PATCH 08/10] Fix deadlock in cairo-scaled-font.c When cairo_scaled_glyph_page_cache needs to remove entries, cairo-cache calls _cairo_hash_table_random_entry() with the predicate diff --git a/patches/0009-Fix-deadlock-in-cairo-scaled-font.c.patch b/patches/0009-Fix-deadlock-in-cairo-scaled-font.c.patch index 4332fca..32d5f47 100644 --- a/patches/0009-Fix-deadlock-in-cairo-scaled-font.c.patch +++ b/patches/0009-Fix-deadlock-in-cairo-scaled-font.c.patch @@ -1,7 +1,7 @@ -From a2af073404701dd5651ba635fb626b928e02b90a Mon Sep 17 00:00:00 2001 +From 7a1d689610fc0a8e27459694a365d15bf41eb835 Mon Sep 17 00:00:00 2001 From: Adrian Johnson Date: Sat, 28 May 2022 07:14:52 +0930 -Subject: [PATCH 9/9] Fix deadlock in cairo-scaled-font.c +Subject: [PATCH 09/10] Fix deadlock in cairo-scaled-font.c A user font glyph containing a font can cause deadlock in _cairo_scaled_glyph_fini due to the destroy recording surface while diff --git a/patches/0010-quartz-Avoid-reading-beyond-the-end-of-image-surface.patch b/patches/0010-quartz-Avoid-reading-beyond-the-end-of-image-surface.patch new file mode 100644 index 0000000..c5bc39d --- /dev/null +++ b/patches/0010-quartz-Avoid-reading-beyond-the-end-of-image-surface.patch @@ -0,0 +1,34 @@ +From f007412eb3f95e6e7e489d53301f23dfa92621a1 Mon Sep 17 00:00:00 2001 +From: Jeff Muizelaar +Date: Wed, 29 Jun 2022 11:41:47 -0400 +Subject: [PATCH 10/10] quartz: Avoid reading beyond the end of image surfaces. + +The last row of data may have less than stride bytes so make sure we +only copy what we need. + +(cherry picked from commit cccc81ccba99600483621e02ae9438a4a5a3d024) +--- + src/cairo-quartz-surface.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/src/cairo-quartz-surface.c b/src/cairo-quartz-surface.c +index fa6d9b1c9..14feb0f41 100644 +--- a/src/cairo-quartz-surface.c ++++ b/src/cairo-quartz-surface.c +@@ -881,8 +881,12 @@ _cairo_surface_to_cgimage (cairo_surface_t *source, + return _cairo_error (CAIRO_STATUS_NO_MEMORY); + } + ++ // The last row of data may have less than stride bytes so make sure we ++ // only copy the minimum amount required from that row. + memcpy (image_data, image_surface->data, +- image_surface->height * image_surface->stride); ++ (image_surface->height - 1) * image_surface->stride + ++ cairo_format_stride_for_width (image_surface->format, ++ image_surface->width)); + *image_out = CairoQuartzCreateCGImage (image_surface->format, + image_surface->width, + image_surface->height, +-- +2.32.1 (Apple Git-133) + diff --git a/patches/openssl-fix-missing-header.patch b/patches/openssl-fix-missing-header.patch new file mode 100644 index 0000000..cb8a3ee --- /dev/null +++ b/patches/openssl-fix-missing-header.patch @@ -0,0 +1,30 @@ +From 60f011f584d80447e86cae1d1bd3ae24bc13235b Mon Sep 17 00:00:00 2001 +From: Gregor Jasny +Date: Tue, 5 Jul 2022 12:57:06 +0200 +Subject: [PATCH] Add missing header for memcmp + +CLA: trivial + +Reviewed-by: Paul Dale +Reviewed-by: Dmitry Belyavskiy +Reviewed-by: Todd Short +Reviewed-by: Richard Levitte +(Merged from https://github.com/openssl/openssl/pull/18719) + +(cherry picked from commit f9e578e720bb35228948564192adbe3bc503d5fb) +--- + test/v3ext.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/test/v3ext.c b/test/v3ext.c +index 386135fed8ab..7a240cd70603 100644 +--- a/test/v3ext.c ++++ b/test/v3ext.c +@@ -8,6 +8,7 @@ + */ + + #include ++#include + #include + #include + #include