summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@behdad.org>2009-08-04 21:35:32 -0400
committerBehdad Esfahbod <behdad@behdad.org>2009-08-04 21:35:32 -0400
commitcb971493ec7013eaee032cbc6e3f399a413808fb (patch)
tree5f15d72351ef8df79fb5ee168ada7eb2c4fbc571
parent23663fe3b506d0f9b44168dcf0b0a80d102b0877 (diff)
downloadpango-cb971493ec7013eaee032cbc6e3f399a413808fb.tar.gz
[HB] Avoid infinite recusion in Extension sanitize()
-rw-r--r--pango/opentype/hb-ot-layout-gpos-private.hh1
-rw-r--r--pango/opentype/hb-ot-layout-gsub-private.hh1
2 files changed, 2 insertions, 0 deletions
diff --git a/pango/opentype/hb-ot-layout-gpos-private.hh b/pango/opentype/hb-ot-layout-gpos-private.hh
index 4aaefeb8..292de0d3 100644
--- a/pango/opentype/hb-ot-layout-gpos-private.hh
+++ b/pango/opentype/hb-ot-layout-gpos-private.hh
@@ -1526,6 +1526,7 @@ inline bool ExtensionPos::sanitize (SANITIZE_ARG_DEF)
{
return Extension::sanitize (SANITIZE_ARG) &&
(&(Extension::get_subtable ()) == &Null(LookupSubTable) ||
+ get_type () == PosLookupSubTable::Extension ||
DECONST_CAST (PosLookupSubTable, get_subtable (), 0).sanitize (SANITIZE_ARG));
}
diff --git a/pango/opentype/hb-ot-layout-gsub-private.hh b/pango/opentype/hb-ot-layout-gsub-private.hh
index db608fd4..9d35e997 100644
--- a/pango/opentype/hb-ot-layout-gsub-private.hh
+++ b/pango/opentype/hb-ot-layout-gsub-private.hh
@@ -863,6 +863,7 @@ inline bool ExtensionSubst::sanitize (SANITIZE_ARG_DEF)
{
return Extension::sanitize (SANITIZE_ARG) &&
(&(Extension::get_subtable ()) == &Null(LookupSubTable) ||
+ get_type () == SubstLookupSubTable::Extension ||
DECONST_CAST (SubstLookupSubTable, get_subtable (), 0).sanitize (SANITIZE_ARG));
}