diff options
author | Ebrahim Byagowi <ebrahim@gnu.org> | 2020-07-31 08:58:53 +0430 |
---|---|---|
committer | Ebrahim Byagowi <ebrahim@gnu.org> | 2020-07-31 09:27:27 +0430 |
commit | efd716de3f4c7616aedd5c449bf8d27d565d4ab6 (patch) | |
tree | 8b899a5560b17672c0b155ea154a5117e10f098f /src | |
parent | 040ed094ef3cf032d84c4d65bd81f40c26f6f9e0 (diff) | |
download | harfbuzz_ng-efd716de3f4c7616aedd5c449bf8d27d565d4ab6.tar.gz |
[cff] Check for scalars array resize result
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24504
Diffstat (limited to 'src')
-rw-r--r-- | src/hb-cff2-interp-cs.hh | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/hb-cff2-interp-cs.hh b/src/hb-cff2-interp-cs.hh index afbc4a7cb..332ece31c 100644 --- a/src/hb-cff2-interp-cs.hh +++ b/src/hb-cff2-interp-cs.hh @@ -133,9 +133,11 @@ struct cff2_cs_interp_env_t : cs_interp_env_t<blend_arg_t, CFF2Subrs> region_count = varStore->varStore.get_region_index_count (get_ivs ()); if (do_blend) { - scalars.resize (region_count); - varStore->varStore.get_scalars (get_ivs (), coords, num_coords, - &scalars[0], region_count); + if (unlikely (!scalars.resize (region_count))) + set_error (); + else + varStore->varStore.get_scalars (get_ivs (), coords, num_coords, + &scalars[0], region_count); } seen_blend = true; } |