diff --git a/src/hb-font.cc b/src/hb-font.cc index 93787c00f..a55deb348 100644 --- a/src/hb-font.cc +++ b/src/hb-font.cc @@ -364,7 +364,7 @@ hb_face_get_table (hb_face_t *face, blob = face->get_table (tag, face->user_data); - return likely (blob) ? blob : &_hb_blob_nil; + return blob; } diff --git a/src/hb-font.h b/src/hb-font.h index 433d31a3b..89324faa2 100644 --- a/src/hb-font.h +++ b/src/hb-font.h @@ -60,6 +60,7 @@ hb_face_get_reference_count (hb_face_t *face); void hb_face_destroy (hb_face_t *face); +/* Returns NULL if not found */ hb_blob_t * hb_face_get_table (hb_face_t *face, hb_tag_t tag); diff --git a/src/hb-open-type-private.hh b/src/hb-open-type-private.hh index 2ab639c4c..d2fbb2101 100644 --- a/src/hb-open-type-private.hh +++ b/src/hb-open-type-private.hh @@ -283,6 +283,9 @@ struct Sanitizer /* TODO is_sane() stuff */ + if (!blob) + return hb_blob_create_empty (); + retry: if (HB_DEBUG_SANITIZE) fprintf (stderr, "Sanitizer %p start %s\n", blob, HB_FUNC);