mirror of
https://github.com/harfbuzz/harfbuzz.git
synced 2025-04-05 05:25:05 +00:00
[cff] Allow empty private dict (again)
Fixes https://github.com/harfbuzz/harfbuzz/issues/5162
This commit is contained in:
parent
0ebcc66506
commit
472e65dd0f
2 changed files with 6 additions and 3 deletions
|
@ -1176,7 +1176,8 @@ struct cff1
|
|||
if (unlikely (!font_interp.interpret (*font))) goto fail;
|
||||
PRIVDICTVAL *priv = &privateDicts[i];
|
||||
const hb_ubytes_t privDictStr = StructAtOffsetOrNull<UnsizedByteStr> (cff, font->privateDictInfo.offset, sc, font->privateDictInfo.size).as_ubytes (font->privateDictInfo.size);
|
||||
if (unlikely (privDictStr == (const unsigned char *) &Null (UnsizedByteStr))) goto fail;
|
||||
if (unlikely (font->privateDictInfo.size &&
|
||||
privDictStr == (const unsigned char *) &Null (UnsizedByteStr))) goto fail;
|
||||
num_interp_env_t env2 (privDictStr);
|
||||
dict_interpreter_t<PRIVOPSET, PRIVDICTVAL> priv_interp (env2);
|
||||
priv->init ();
|
||||
|
@ -1191,7 +1192,8 @@ struct cff1
|
|||
PRIVDICTVAL *priv = &privateDicts[0];
|
||||
|
||||
const hb_ubytes_t privDictStr = StructAtOffsetOrNull<UnsizedByteStr> (cff, font->privateDictInfo.offset, sc, font->privateDictInfo.size).as_ubytes (font->privateDictInfo.size);
|
||||
if (unlikely (privDictStr == (const unsigned char *) &Null (UnsizedByteStr))) goto fail;
|
||||
if (font->privateDictInfo.size &&
|
||||
unlikely (privDictStr == (const unsigned char *) &Null (UnsizedByteStr))) goto fail;
|
||||
num_interp_env_t env (privDictStr);
|
||||
dict_interpreter_t<PRIVOPSET, PRIVDICTVAL> priv_interp (env);
|
||||
priv->init ();
|
||||
|
|
|
@ -458,7 +458,8 @@ struct cff2
|
|||
if (unlikely (!font_interp.interpret (*font))) goto fail;
|
||||
|
||||
const hb_ubytes_t privDictStr = StructAtOffsetOrNull<UnsizedByteStr> (cff2, font->privateDictInfo.offset, sc, font->privateDictInfo.size).as_ubytes (font->privateDictInfo.size);
|
||||
if (unlikely (privDictStr == (const unsigned char *) &Null (UnsizedByteStr))) goto fail;
|
||||
if (unlikely (font->privateDictInfo.size &&
|
||||
privDictStr == (const unsigned char *) &Null (UnsizedByteStr))) goto fail;
|
||||
cff2_priv_dict_interp_env_t env2 (privDictStr);
|
||||
dict_interpreter_t<PRIVOPSET, PRIVDICTVAL, cff2_priv_dict_interp_env_t> priv_interp (env2);
|
||||
privateDicts[i].init ();
|
||||
|
|
Loading…
Add table
Reference in a new issue