harfbuzz/src
jfkthame 44f7d6ecde Guard against underflow when adjusting length (#421)
* Guard against underflow when adjusting length

With the fuzz-testcase in mozilla bug 1295299, we end up with a recursed lookup that removes 3 items, when `match_positions[idx]` is 0, which results in (unsigned) `end` wrapping to a huge value.

Making `end` a signed int is probably the simplest route to a fix.

Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1295299.

* Add testcase for #421.
2017-02-16 19:03:24 -08:00
..
hb-ucdn [ucdn] Update to Unicode 9.0.0 2016-07-21 01:35:30 -07:00
Makefile.am Set LC_ALL instead of LANG when creating harfbuzz.def 2017-02-08 14:33:28 -08:00
Makefile.sources [var] Implement MVAR table 2017-01-23 23:42:53 -08:00
check-c-linkage-decls.sh [check-*] Minor 2013-08-26 18:46:21 -04:00
check-defs.sh Help clang with gcov 2014-10-01 18:18:25 -04:00
check-header-guards.sh AIX fixes 2015-12-12 17:44:44 -08:00
check-includes.sh [arabic] Implement Windows-1256 private shaping 2014-07-31 18:58:24 -04:00
check-libstdc++.sh Update check-libstdc++ for clang 2015-04-23 18:56:24 -07:00
check-static-inits.sh check-static-inits: Filter out zero-length sections 2014-10-01 11:56:07 -04:00
check-symbols.sh [ci] Whitelist more symbols and unbreak mac CI 2016-10-11 17:12:08 +03:30
gen-arabic-table.py Use hb_in_range() for arabic and indic tables 2014-07-11 16:22:13 -04:00
gen-indic-table.py [indic/use] Move Javanese from Indic shaper to USE 2016-05-06 15:52:27 +01:00
gen-use-table.py [use] Update to draft spec from Andrew Glass from August 2015 2016-05-06 17:41:49 +01:00
harfbuzz-gobject.pc.in [gobject] Flesh out hb-gobject 2013-08-28 12:38:37 -04:00
harfbuzz-icu.pc.in Generate harfbuzz-icu.pc 2013-05-28 17:18:30 -04:00
harfbuzz.pc.in Add Libs.private and Requires.private to harfbuzz.pc 2015-08-11 12:58:49 +02:00
hb-atomic-private.hh Limit use of AIX intrinsics to IBM's compiler 2015-12-10 17:44:19 +01:00
hb-blob.cc Remove pointless overflow check in pointer math 2016-02-18 19:31:51 +07:00
hb-blob.h Public headers: Decorate public symbols with HB_EXTERN 2015-11-23 11:03:11 +08:00
hb-buffer-deserialize-json.rl Fix misc warnings 2014-10-14 20:07:31 -07:00
hb-buffer-deserialize-text.rl Fix VC++ /analyze warnings 2015-03-26 14:13:53 -04:00
hb-buffer-private.hh Fix sign of shift operators 2016-08-08 17:28:14 -07:00
hb-buffer-serialize.cc [docs] More buffers documentation 2016-01-01 20:38:21 +04:00
hb-buffer.cc Clean up buffer area when rewinding 2016-07-20 01:44:47 -07:00
hb-buffer.h [docs] Minor fixes. 2016-01-11 12:58:45 +00:00
hb-cache-private.hh Fix sign of shift operators 2016-08-08 17:28:14 -07:00
hb-common.cc Stub out doc comments for new symbols 2017-01-22 17:42:33 -08:00
hb-common.h Stub out doc comments for new symbols 2017-01-22 17:42:33 -08:00
hb-coretext.cc Unbreak hb-coretext build 2017-02-09 14:13:25 -08:00
hb-coretext.h Public headers: Decorate public symbols with HB_EXTERN 2015-11-23 11:03:11 +08:00
hb-deprecated.h Add get_nominal_glyph() and get_variation_glyph() instead of get_glyph() 2016-02-24 19:05:23 +09:00
hb-directwrite.cc Shuffle things around a bit 2017-02-03 16:57:15 -08:00
hb-directwrite.h Stub out doc comments for new symbols 2017-01-22 17:42:33 -08:00
hb-face-private.hh Add dirty-state tracking to hb_face_t 2017-02-03 15:42:03 -08:00
hb-face.cc Add dirty-state tracking to hb_face_t 2017-02-03 15:42:03 -08:00
hb-face.h Public headers: Decorate public symbols with HB_EXTERN 2015-11-23 11:03:11 +08:00
hb-fallback-shape.cc Shuffle things around a bit 2017-02-03 16:57:15 -08:00
hb-font-private.hh Add dirty-state tracking to hb_font_t 2017-02-03 10:58:09 -08:00
hb-font.cc hb-font: Fix a potentially undefined use of memcmp() (#413) 2017-02-08 13:56:57 -08:00
hb-font.h Add new API hb_font_set_face() 2017-02-03 10:39:40 -08:00
hb-ft.cc Minor 2017-01-22 17:47:49 -08:00
hb-ft.h Public headers: Decorate public symbols with HB_EXTERN 2015-11-23 11:03:11 +08:00
hb-glib.cc Support building with older glib versions 2016-12-18 01:37:07 -06:00
hb-glib.h Support building with older glib versions 2016-12-18 01:37:07 -06:00
hb-gobject-enums.cc.tmpl [gobject] Flesh out hb-gobject 2013-08-28 12:38:37 -04:00
hb-gobject-enums.h.tmpl Public headers: Decorate public symbols with HB_EXTERN 2015-11-23 11:03:11 +08:00
hb-gobject-structs.cc [gobject] Update for new MATH structs 2016-10-26 10:32:48 +02:00
hb-gobject-structs.h [gobject] Fix a few warnings 2016-06-28 21:15:36 -07:00
hb-gobject.h [gobject] Flesh out hb-gobject 2013-08-28 12:38:37 -04:00
hb-graphite2.cc Merge pull request #357 from khaledhosny/graphite-scale 2017-02-08 14:36:18 -08:00
hb-graphite2.h [graphite] Stop creating unused gr_face 2017-01-07 01:57:28 +02:00
hb-icu.cc Fix missing ICU #include 2016-02-26 00:36:17 +01:00
hb-icu.h Public headers: Decorate public symbols with HB_EXTERN 2015-11-23 11:03:11 +08:00
hb-mutex-private.hh Minor refactoring to the atomics implementation 2015-04-08 13:04:22 -07:00
hb-object-private.hh Poison freed objects such that double-free is detected 2015-08-30 17:29:21 +01:00
hb-open-file-private.hh Add LOffsetTo<> 2017-01-22 20:28:56 -08:00
hb-open-type-private.hh Add LArrayOf<> 2017-01-22 20:31:53 -08:00
hb-ot-cbdt-table.hh Add LArrayOf<> 2017-01-22 20:31:53 -08:00
hb-ot-cmap-table.hh Add LOffsetTo<> 2017-01-22 20:28:56 -08:00
hb-ot-font.cc [var] Hook up advance variations to hb-ot-font 2017-01-23 17:57:27 -08:00
hb-ot-font.h Public headers: Decorate public symbols with HB_EXTERN 2015-11-23 11:03:11 +08:00
hb-ot-glyf-table.hh Use FWORD and UFWORD when it makes sense 2016-03-01 16:41:26 +09:00
hb-ot-head-table.hh Make FixedVersion a template 2016-02-22 15:38:44 +09:00
hb-ot-hhea-table.hh Make FixedVersion a template 2016-02-22 15:38:44 +09:00
hb-ot-hmtx-table.hh Minor 2017-01-22 20:11:57 -08:00
hb-ot-layout-common-private.hh [var] Implement DeltaSetIndexMap and advance delta fetching 2017-01-23 12:25:40 -08:00
hb-ot-layout-gdef-table.hh Add LOffsetTo<> 2017-01-22 20:28:56 -08:00
hb-ot-layout-gpos-table.hh Minor fixes to pacify Coverity code scan 2016-12-18 00:14:06 -06:00
hb-ot-layout-gsub-table.hh Revert "Synthesize GDEF glyph class for any glyph that does not have one in GDEF" 2016-12-22 14:43:14 -06:00
hb-ot-layout-gsubgpos-private.hh Guard against underflow when adjusting length (#421) 2017-02-16 19:03:24 -08:00
hb-ot-layout-jstf-table.hh Make FixedVersion a template 2016-02-22 15:38:44 +09:00
hb-ot-layout-private.hh Shuffle things around a bit 2017-02-03 16:57:15 -08:00
hb-ot-layout.cc Shuffle things around a bit 2017-02-03 16:57:15 -08:00
hb-ot-layout.h [GX] Add hb_ot_layout_feature_with_variations_get_lookups() 2016-12-16 19:06:26 -06:00
hb-ot-map-private.hh [GX] Hook up feature variations 2016-12-16 19:06:26 -06:00
hb-ot-map.cc [GX] Hook up feature variations 2016-12-16 19:06:26 -06:00
hb-ot-math-table.hh Rename hb-ot-layout-math-table.hh to hb-ot-math-table.hh 2017-01-09 21:11:00 -08:00
hb-ot-math.cc Shuffle things around a bit 2017-02-03 16:57:15 -08:00
hb-ot-math.h Aim math API for 1.3.3 instead of 1.4.0 2016-10-04 14:47:12 -07:00
hb-ot-maxp-table.hh Make FixedVersion a template 2016-02-22 15:38:44 +09:00
hb-ot-name-table.hh Define return_trace() 2015-09-29 14:57:02 +01:00
hb-ot-os2-table.hh Parse the OS/2 table. 2015-11-26 19:58:13 -05:00
hb-ot-post-table.hh [ot-font] Start implementing 'post' table, for accessing glyph names 2016-04-30 19:20:56 +02:00
hb-ot-shape-complex-arabic-fallback.hh Use insertion-sort instead of bubble-sort 2015-09-01 15:07:52 +01:00
hb-ot-shape-complex-arabic-private.hh Add hb-ot-shape-complex-arabic-private.hh 2015-07-22 10:49:13 +01:00
hb-ot-shape-complex-arabic-table.hh Update tables to Unicode 9.0.0 beta 2016-05-06 12:10:03 +01:00
hb-ot-shape-complex-arabic-win1256.hh Remove unused macro ASSERT_STATIC_EXPR() 2015-07-21 15:17:27 +01:00
hb-ot-shape-complex-arabic.cc Silence Coverity warning 2017-02-07 16:53:21 -08:00
hb-ot-shape-complex-default.cc Disable OTL processing for Hebrew if GPOS doesn't have Hebrew subtable 2016-12-22 14:43:23 -06:00
hb-ot-shape-complex-hangul.cc Minor 2017-01-09 00:00:49 -08:00
hb-ot-shape-complex-hebrew.cc Disable OTL processing for Hebrew if GPOS doesn't have Hebrew subtable 2016-12-22 14:43:23 -06:00
hb-ot-shape-complex-indic-machine.rl [indic] Remove unused Javanese bits 2016-05-06 15:59:27 +01:00
hb-ot-shape-complex-indic-private.hh [indic] Remove unused Javanese bits 2016-05-06 15:59:27 +01:00
hb-ot-shape-complex-indic-table.cc [indic] Add support for Grantha marks that may be used in Tamil to th… (#401) 2017-02-16 09:40:21 -08:00
hb-ot-shape-complex-indic.cc Remove Tibetan decomposition rules from Indic shaper 2016-12-28 13:47:13 -05:00
hb-ot-shape-complex-myanmar-machine.rl [myanmar] Use OT_NBSP instead of OT_DOTTEDCIRCLE for OT_GB 2014-05-27 17:49:45 -04:00
hb-ot-shape-complex-myanmar.cc Disable OTL processing for Hebrew if GPOS doesn't have Hebrew subtable 2016-12-22 14:43:23 -06:00
hb-ot-shape-complex-private.hh Route Adlam through Arabic shaper 2017-01-26 14:50:14 -08:00
hb-ot-shape-complex-thai.cc Disable OTL processing for Hebrew if GPOS doesn't have Hebrew subtable 2016-12-22 14:43:23 -06:00
hb-ot-shape-complex-tibetan.cc Disable OTL processing for Hebrew if GPOS doesn't have Hebrew subtable 2016-12-22 14:43:23 -06:00
hb-ot-shape-complex-use-machine.rl [use] Update to draft spec from Andrew Glass from August 2015 2016-05-06 17:41:49 +01:00
hb-ot-shape-complex-use-private.hh [use] Update to draft spec from Andrew Glass from August 2015 2016-05-06 17:41:49 +01:00
hb-ot-shape-complex-use-table.cc Update for latest Unicode 9 data files 2016-06-06 14:14:24 -07:00
hb-ot-shape-complex-use.cc [USE] Remove non-canonical decompositions 2017-01-08 23:55:54 -08:00
hb-ot-shape-fallback-private.hh Adjust the width of various spaces if font does not cover them 2015-11-04 17:27:07 -08:00
hb-ot-shape-fallback.cc Add get_nominal_glyph() and get_variation_glyph() instead of get_glyph() 2016-02-24 19:05:23 +09:00
hb-ot-shape-normalize-private.hh [ot/hangul] Don't decompose Hangul even when combining marks present 2014-01-02 17:04:04 +08:00
hb-ot-shape-normalize.cc Minor 2017-02-01 11:57:21 -08:00
hb-ot-shape-private.hh [GX] Hook up feature variations 2016-12-16 19:06:26 -06:00
hb-ot-shape.cc Shuffle things around a bit 2017-02-03 16:57:15 -08:00
hb-ot-shape.h Public headers: Decorate public symbols with HB_EXTERN 2015-11-23 11:03:11 +08:00
hb-ot-tag.cc Remove a few unused includes 2017-01-21 15:12:03 -08:00
hb-ot-tag.h Public headers: Decorate public symbols with HB_EXTERN 2015-11-23 11:03:11 +08:00
hb-ot-var-avar-table.hh [var] Start adding HVAR/VVAR 2017-01-23 11:41:43 -08:00
hb-ot-var-fvar-table.hh [var] Start adding HVAR/VVAR 2017-01-23 11:41:43 -08:00
hb-ot-var-hvar-table.hh [var] Whitespace 2017-01-23 23:21:30 -08:00
hb-ot-var-mvar-table.hh [var] Implement MVAR table 2017-01-23 23:42:53 -08:00
hb-ot-var.cc Shuffle things around a bit 2017-02-03 16:57:15 -08:00
hb-ot-var.h [var] Remove HB_OT_TAG_fvar/avar 2017-01-22 20:16:51 -08:00
hb-ot.h Start adding hb-ot-var.h and implementation 2017-01-19 19:35:48 -08:00
hb-private.hh Improve debug output with really deep nesting 2016-12-21 19:27:30 -06:00
hb-set-private.hh Fix sign of shift operators 2016-08-08 17:28:14 -07:00
hb-set.cc Stub out doc comments for new symbols 2017-01-22 17:42:33 -08:00
hb-set.h Public headers: Decorate public symbols with HB_EXTERN 2015-11-23 11:03:11 +08:00
hb-shape-plan-private.hh [GX] Hook up feature variations 2016-12-16 19:06:26 -06:00
hb-shape-plan.cc Shuffle things around a bit 2017-02-03 16:57:15 -08:00
hb-shape-plan.h [GX] Hook up feature variations 2016-12-16 19:06:26 -06:00
hb-shape.cc Minor 2017-01-22 16:55:40 -08:00
hb-shape.h Move code around 2017-01-20 20:16:53 -08:00
hb-shaper-impl-private.hh Switch old and uniscribe backends to shape_plan 2012-07-27 01:37:18 -04:00
hb-shaper-list.hh Add a prototype of DirectWrite as a shaping backend 2015-10-20 22:20:47 +03:30
hb-shaper-private.hh Shuffle things around a bit 2017-02-03 16:57:15 -08:00
hb-shaper.cc Replace a couple of malloc()s with calloc() 2015-10-02 08:02:29 +01:00
hb-ucdn.cc [ucdn] Update to Unicode 9.0.0 2016-07-21 01:35:30 -07:00
hb-unicode-private.hh Whitespace 2016-07-12 11:18:26 -07:00
hb-unicode.cc Ship UCDN and use it by default 2017-01-05 20:12:32 -08:00
hb-unicode.h [gobject] Fix a few warnings 2016-06-28 21:15:36 -07:00
hb-uniscribe.cc Shuffle things around a bit 2017-02-03 16:57:15 -08:00
hb-uniscribe.h Public headers: Decorate public symbols with HB_EXTERN 2015-11-23 11:03:11 +08:00
hb-utf-private.hh Micro optimization to hb_utf16_t and hb_utf32_t ::prev() 2015-11-07 02:00:04 +04:00
hb-version.h.in Public headers: Decorate public symbols with HB_EXTERN 2015-11-23 11:03:11 +08:00
hb-warning.cc Fix pragma usage 2015-07-05 22:43:17 +01:00
hb.h Public headers: Decorate public symbols with HB_EXTERN 2015-11-23 11:03:11 +08:00
main.cc Rework handling of requiredFeature to solve problem with rlig in arial.ttf from winxp 2014-06-19 16:33:48 -04:00
sample.py [python] Use utf-32 / utf-16 based on build of Python 2016-06-30 11:01:22 -07:00
test-buffer-serialize.cc Work with old and new glib 2013-10-27 23:37:14 +01:00
test-size-params.cc Work with old and new glib 2013-10-27 23:37:14 +01:00
test-would-substitute.cc Work with old and new glib 2013-10-27 23:37:14 +01:00
test.cc src/test.cc: wrong field printed 2015-11-30 16:53:21 -08:00