diff options
-rw-r--r-- | external/harfbuzz/UnpackedTarball_harfbuzz.mk | 4 | ||||
-rw-r--r-- | external/harfbuzz/ubsan.patch | 20 |
2 files changed, 24 insertions, 0 deletions
diff --git a/external/harfbuzz/UnpackedTarball_harfbuzz.mk b/external/harfbuzz/UnpackedTarball_harfbuzz.mk index a99f116d80ad..eea793322965 100644 --- a/external/harfbuzz/UnpackedTarball_harfbuzz.mk +++ b/external/harfbuzz/UnpackedTarball_harfbuzz.mk @@ -15,4 +15,8 @@ $(eval $(call gb_UnpackedTarball_update_autoconf_configs,harfbuzz)) $(eval $(call gb_UnpackedTarball_set_patchlevel,harfbuzz,0)) +$(eval $(call gb_UnpackedTarball_add_patches,harfbuzz, \ + external/harfbuzz/ubsan.patch \ +)) + # vim: set noet sw=4 ts=4: diff --git a/external/harfbuzz/ubsan.patch b/external/harfbuzz/ubsan.patch new file mode 100644 index 000000000000..a9d1b72ef1a2 --- /dev/null +++ b/external/harfbuzz/ubsan.patch @@ -0,0 +1,20 @@ +--- src/hb-ot-layout-gsubgpos.hh ++++ src/hb-ot-layout-gsubgpos.hh +@@ -387,7 +387,7 @@ + skip == matcher_t::SKIP_NO)) + { + num_items--; +- match_glyph_data++; ++ if (match_glyph_data != nullptr) match_glyph_data++; + return true; + } + +@@ -414,7 +414,7 @@ + skip == matcher_t::SKIP_NO)) + { + num_items--; +- match_glyph_data++; ++ if (match_glyph_data != nullptr) match_glyph_data++; + return true; + } + |