If the table is kept, when the table is present but only the accelerator
allocation failed, then we run into nullptr dereferences downstream in
hb_ot_map_t::apply when trying to access proxy.accels[i].
To fix this, instead of only setting lookup_count of accelerator_t
itself, drop the whole table to avoid hb-ot-map construction assuming
that the lookups will work correctly despite accelerator allocation
having failed.
Fixes:
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24490https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24490
@CURRENT_SOURCE_DIR@ is not listed as a valid string substitution
for custom targets in the Meson reference, and in practice
it does not get substituted when using the vs2019 backend.
When cairo comes from a subproject fallback it should still take
cairo-ft dependency, otherwise it miss freetype2 cflags.
Also update wrap file to use upstream repository now that meson support
has been merged.
This requires Meson >= 0.54.0 because cairo itself requires that version
and we use the new `fallback: 'cairo'` syntax without specifying a
variable name because cairo does not provide a variable name for
cairo-ft.
A BCP 47 language tag with both a script subtag and a region subtag
would be printed as a human-readable name in hb-ot-tag-table.hh as if it
only had its language subtag.
introspection can be enabled when cross-compiling on certains conditions
(for example it is supported by buildroot) so, as suggested by
Tim-Philipp Müller, disable it by default for cross builds unless the
option was explicitly enabled by the user
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
This happens if calls to 'm.lookups[table_index].push ()' has been
silently failed due to lack of memory.
This change just returns gracefully instead issuing the assert.
Fixes https://crbug.com/oss-fuzz/24494
Running a process while the other set is in an error state can potentially corrupt this sets map map (for example by overwritting all of the major values with 0).