[face-builer] Protect against wrong face
In hb_face_builder_sort_tables.
This commit is contained in:
parent
0acfd2b714
commit
805ce9ad3d
|
@ -784,10 +784,10 @@ hb_face_builder_create ()
|
||||||
hb_bool_t
|
hb_bool_t
|
||||||
hb_face_builder_add_table (hb_face_t *face, hb_tag_t tag, hb_blob_t *blob)
|
hb_face_builder_add_table (hb_face_t *face, hb_tag_t tag, hb_blob_t *blob)
|
||||||
{
|
{
|
||||||
if (tag == HB_MAP_VALUE_INVALID)
|
if (unlikely (face->destroy != (hb_destroy_func_t) _hb_face_builder_data_destroy))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (unlikely (face->destroy != (hb_destroy_func_t) _hb_face_builder_data_destroy))
|
if (tag == HB_MAP_VALUE_INVALID)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
hb_face_builder_data_t *data = (hb_face_builder_data_t *) face->user_data;
|
hb_face_builder_data_t *data = (hb_face_builder_data_t *) face->user_data;
|
||||||
|
@ -819,6 +819,9 @@ void
|
||||||
hb_face_builder_sort_tables (hb_face_t *face,
|
hb_face_builder_sort_tables (hb_face_t *face,
|
||||||
const hb_tag_t *tags)
|
const hb_tag_t *tags)
|
||||||
{
|
{
|
||||||
|
if (unlikely (face->destroy != (hb_destroy_func_t) _hb_face_builder_data_destroy))
|
||||||
|
return;
|
||||||
|
|
||||||
hb_face_builder_data_t *data = (hb_face_builder_data_t *) face->user_data;
|
hb_face_builder_data_t *data = (hb_face_builder_data_t *) face->user_data;
|
||||||
|
|
||||||
// Sort all unspecified tables after any specified tables.
|
// Sort all unspecified tables after any specified tables.
|
||||||
|
|
Loading…
Reference in New Issue