harfbuzz/src
Behdad Esfahbod 326b5ebf57 Poison freed objects such that double-free is detected
Previously we were setting refcount of freed objects to the inert value, which
was harmful because it caused further destroy()s of the freed object to NOT
call free() and hence hide the bug.  Indeed, after eb0bf3ae66 test-object
was double-free'ing objects and this was never caught on Linux.  It only was
caught as crashing on Mac.

Now we poison refcount upon freeing and check that it's valid whenever reading
it.  Makes test-object fail now.
2015-08-30 17:29:21 +01:00
..
hb-ucdn Update UCDN to upstream commit 8af93f30 2015-07-25 17:32:16 +02:00
Makefile.am [ot-font] Implement glyph_extents() for TrueType fonts 2015-08-23 14:42:20 +01: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 [check-*] Minor 2013-08-26 18:46:21 -04: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 Help clang with gcov 2014-10-01 18:18:25 -04:00
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] Fix out-of-bounds access 2015-01-17 20:16:56 -08:00
gen-use-table.py [USE] Fix-up variation selectors and word joiner in table 2015-07-21 16:46:37 +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 Minor rename 2015-04-09 12:04:14 -07:00
hb-blob.cc [bindings] Use hb_glib_blob_create() in sample 2015-01-06 19:16:38 -08:00
hb-blob.h Minor 2014-05-13 21:06:39 -04: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 hide-ignorables if font doesn't have space glyph 2015-07-22 18:29:47 +01:00
hb-buffer-serialize.cc Add API/cmdline to show glyph extents when serializing buffer 2015-08-24 13:49:55 +01:00
hb-buffer.cc Implement more granular cluster-merging 2015-07-22 16:51:12 +01:00
hb-buffer.h Add API/cmdline to show glyph extents when serializing buffer 2015-08-24 13:49:55 +01:00
hb-cache-private.hh Fix cache implementation 2012-06-09 01:43:20 -04:00
hb-common.cc Add Unicode 8.0 scripts 2015-07-15 01:36:39 +01:00
hb-common.h Add Unicode 8.0 scripts 2015-07-15 01:36:39 +01:00
hb-coretext.cc [coretext] Use i32 instead of u32 as well 2015-08-20 15:39:53 +01:00
hb-coretext.h Fix build with --coretext on older OS X 2014-05-14 17:42:20 -06:00
hb-deprecated.h Add hb-deprecated.h, and rename a couple enum values 2013-08-27 11:46:08 -04:00
hb-face-private.hh Remove this==NULL check from face->reference_table() 2014-08-14 13:00:47 -04:00
hb-face.cc Fix "Since:" tags 2015-06-01 13:25:27 +02:00
hb-face.h Separate face source code from font 2013-08-27 11:46:08 -04:00
hb-fallback-shape.cc Micro optimization 2014-07-17 14:39:07 -04:00
hb-font-private.hh Add font->has_glyph() 2014-01-02 14:30:45 +08:00
hb-font.cc Fix "Since:" tags 2015-06-01 13:25:27 +02:00
hb-font.h [ot-font] Implement glyph_extents() for TrueType fonts 2015-08-23 14:42:20 +01:00
hb-ft.cc Fix "Since:" tags 2015-06-01 13:25:27 +02:00
hb-ft.h [ft] Add hb_ft_face_create_referenced() and hb_ft_font_create_referenced() 2014-12-28 17:59:28 -08:00
hb-glib.cc Fix "Since:" tags 2015-06-01 13:25:27 +02:00
hb-glib.h [glib] Add hb_glib_blob_create() that takes GBytes 2015-01-06 16:58:33 -08:00
hb-gobject-enums.cc.tmpl [gobject] Flesh out hb-gobject 2013-08-28 12:38:37 -04:00
hb-gobject-enums.h.tmpl [gobject] Flesh out hb-gobject 2013-08-28 12:38:37 -04:00
hb-gobject-structs.cc [gobject] Remove hb_language_t workarounds for g-i shortcomings 2015-05-19 17:42:30 -07:00
hb-gobject-structs.h Fix "Since:" tags 2015-06-01 13:25:27 +02:00
hb-gobject.h [gobject] Flesh out hb-gobject 2013-08-28 12:38:37 -04:00
hb-graphite2.cc [graphite2] Fix bunch of stuff 2015-07-22 14:28:25 +01:00
hb-graphite2.h [graphite2] Fix include 2013-09-13 20:36:43 -04:00
hb-icu.cc Fix hb_atomic_ptr_cmpexch -Wunused-value warnings 2015-01-03 19:46:19 -08:00
hb-icu.h Minor 2012-08-08 14:59:09 -04: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 Make sanitize() a const method 2015-02-25 15:43:28 -08:00
hb-open-type-private.hh Make BYTE a real type 2015-08-21 12:44:36 +01:00
hb-ot-cmap-table.hh Make sanitize() a const method 2015-02-25 15:43:28 -08:00
hb-ot-font.cc [ot-font] Fix short-offset calculation 2015-08-24 13:45:12 +01:00
hb-ot-font.h Add include check to hb-ot-font.h 2015-06-03 11:53:42 -07:00
hb-ot-glyf-table.hh [ot-font] Implement glyph_extents() for TrueType fonts 2015-08-23 14:42:20 +01:00
hb-ot-head-table.hh [ot-font] Implement glyph_extents() for TrueType fonts 2015-08-23 14:42:20 +01:00
hb-ot-hhea-table.hh Make sanitize() a const method 2015-02-25 15:43:28 -08:00
hb-ot-hmtx-table.hh Make sanitize() a const method 2015-02-25 15:43:28 -08:00
hb-ot-layout-common-private.hh Minor 2015-02-25 15:43:35 -08:00
hb-ot-layout-gdef-table.hh Make sanitize() a const method 2015-02-25 15:43:28 -08:00
hb-ot-layout-gpos-table.hh [GPOS] Fix cursive connection with mix of RTL and non-RTL lookups 2015-08-25 20:29:36 +01:00
hb-ot-layout-gsub-table.hh [debug] Print lookup index in debug-apply output 2015-08-18 14:36:43 +01:00
hb-ot-layout-gsubgpos-private.hh [debug] Print lookup index in debug-apply output 2015-08-18 14:36:43 +01:00
hb-ot-layout-jstf-table.hh Make sanitize() a const method 2015-02-25 15:43:28 -08:00
hb-ot-layout-private.hh Merge branch 'use' 2015-07-26 19:40:55 +02:00
hb-ot-layout.cc Commented-out code to print buffer before each lookup 2015-08-18 18:55:03 +01:00
hb-ot-layout.h Mark unsigned integer literals with the u suffix 2014-07-11 16:22:13 -04:00
hb-ot-map-private.hh [ot] Search globally for 'vert' feature if not found in specified script/lang 2015-07-23 11:52:11 +01:00
hb-ot-map.cc [ot] Search globally for 'vert' feature if not found in specified script/lang 2015-07-23 11:52:11 +01:00
hb-ot-maxp-table.hh Make sanitize() a const method 2015-02-25 15:43:28 -08:00
hb-ot-name-table.hh Fix hb-uniscribe build 2015-03-04 12:03:39 -08:00
hb-ot-shape-complex-arabic-fallback.hh Avoid accessing layout tables at face destruction 2014-12-28 16:03:26 -08: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 Arabic shaping table for Unicode 8.0 2015-07-15 01:39:57 +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 Add hb-ot-shape-complex-arabic-private.hh 2015-07-22 10:49:13 +01:00
hb-ot-shape-complex-default.cc [ot] Separate out hebrew and tibetan shapers from default 2013-12-31 16:49:15 +08:00
hb-ot-shape-complex-hangul.cc Implement more granular cluster-merging 2015-07-22 16:51:12 +01:00
hb-ot-shape-complex-hebrew.cc [hebrew] Zero mark advance by GDEF late 2014-07-26 20:34:01 -04:00
hb-ot-shape-complex-indic-machine.rl [indic] Allow ZWJ/ZWNJ before SM 2014-12-10 12:05:24 -08:00
hb-ot-shape-complex-indic-private.hh Remove unused macro ASSERT_STATIC_EXPR() 2015-07-21 15:17:27 +01:00
hb-ot-shape-complex-indic-table.cc [indic] Fix out-of-bounds access 2015-01-17 20:16:56 -08:00
hb-ot-shape-complex-indic.cc Use foreach_cluster in Indic shaper 2015-07-22 12:02:09 +01: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 Use foreach_syllable in Myanmar shaper 2015-07-22 11:58:11 +01:00
hb-ot-shape-complex-private.hh Retire SEA shaper in favor of USE 2015-07-21 17:46:06 +01:00
hb-ot-shape-complex-thai.cc Mark unsigned integer literals with the u suffix 2014-07-11 16:22:13 -04:00
hb-ot-shape-complex-tibetan.cc [ot] Separate out hebrew and tibetan shapers from default 2013-12-31 16:49:15 +08:00
hb-ot-shape-complex-use-machine.rl [USE] Implement dotted-circle 2015-07-21 17:14:54 +01:00
hb-ot-shape-complex-use-private.hh [USE] Move pref 2015-07-21 16:55:26 +01:00
hb-ot-shape-complex-use-table.cc [USE] Fix-up variation selectors and word joiner in table 2015-07-21 16:46:37 +01:00
hb-ot-shape-complex-use.cc Remove unused function 2015-08-17 16:03:28 +02:00
hb-ot-shape-fallback-private.hh Move code around 2013-02-21 15:23:39 -05:00
hb-ot-shape-fallback.cc Don't rely on .cluster field in fallback_position 2015-08-08 18:03:38 +02: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 Don't rely on .cluster in _hb_ot_shape_normalize() 2015-08-09 18:26:27 +02:00
hb-ot-shape-private.hh Only do fallback Hebrew composition if no GPOS 'mark' available 2014-02-18 15:53:56 -05:00
hb-ot-shape.cc [ot] Change buffer content type right after we map to glyphs 2015-08-18 18:42:47 +01:00
hb-ot-shape.h Adjust unused doc symbols 2014-06-20 14:02:30 -04:00
hb-ot-tag.cc [bindings] Fix hb_language_get_default() and hb_ot_tag_to_language() 2015-06-12 17:46:06 -07:00
hb-ot-tag.h Make it an error to include non-top-level headers 2012-04-12 13:17:44 -04:00
hb-ot.h Start fleshing out builtin font functions 2014-03-24 15:19:15 -07:00
hb-private.hh Add FLAG_UNSAFE() 2015-07-21 15:52:15 +01:00
hb-set-private.hh Fix broken sentence 2015-07-25 17:38:21 +02:00
hb-set.cc Fix "Since:" tags 2015-06-01 13:25:27 +02:00
hb-set.h Annotate hb-set a bit; add HB_SET_VALUE_INVALID 2013-09-06 15:31:22 -04:00
hb-shape-plan-private.hh Remove unnecessary includes 2013-12-11 20:24:20 -05:00
hb-shape-plan.cc Fix "Since:" tags 2015-06-01 13:25:27 +02:00
hb-shape-plan.h Implement hb_shape_plan_get_shaper() 2012-11-16 13:23:37 -08:00
hb-shape.cc Fix "Since:" tags 2015-06-01 13:25:27 +02:00
hb-shape.h Some attempt into initial hb-shape documentation 2015-04-30 18:24:45 -04: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 [coretext] Add coretext_aat shaper 2014-03-14 19:38:58 -04:00
hb-shaper-private.hh Minor improvement to HB_SHAPER_DATA_DESTROY 2015-01-27 10:02:34 -08:00
hb-shaper.cc Add #ifdef HB_USE_ATEXIT to fix -Wunused-function warnings 2015-01-04 19:31:10 -08:00
hb-ucdn.cc Update UCDN to upstream commit 8af93f30 2015-07-25 17:32:16 +02:00
hb-unicode-private.hh Add FLAG_SAFE() for values known to be small-enough 2015-07-21 15:50:02 +01:00
hb-unicode.cc Fix pragma usage 2015-07-05 22:43:17 +01:00
hb-unicode.h Fix "Since:" tags 2015-06-01 13:25:27 +02:00
hb-uniscribe.cc [uniscribe] Fix negative offsets 2015-08-20 15:39:06 +01:00
hb-uniscribe.h [win] Consolidate windows.h include tips and tricks 2014-07-19 16:32:04 -04:00
hb-utf-private.hh [API] Add hb_buffer_add_latin1() 2015-01-26 14:25:52 -08:00
hb-version.h.in Rename HB_VERSION_CHECK and hb_version_check to "atleast" 2014-06-20 14:09:57 -04:00
hb-warning.cc Fix pragma usage 2015-07-05 22:43:17 +01:00
hb.h Add hb-deprecated.h, and rename a couple enum values 2013-08-27 11:46:08 -04: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 [bindings] Minor 2015-01-19 16:15:32 -08: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 Work with old and new glib 2013-10-27 23:37:14 +01:00