diff options
-rw-r--r-- | Build/source/libs/README | 2 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/ChangeLog | 5 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/TLpatches/ChangeLog | 5 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/TLpatches/TL-Changes | 2 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/configure | 24 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-src/ChangeLog | 76 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-src/NEWS | 8 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-src/configure.ac | 2 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gsubgpos-private.hh | 31 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-indic.cc | 2 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape.cc | 1 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/version.ac | 2 |
12 files changed, 137 insertions, 23 deletions
diff --git a/Build/source/libs/README b/Build/source/libs/README index 59f1ca7d348..06cd869e20e 100644 --- a/Build/source/libs/README +++ b/Build/source/libs/README @@ -24,7 +24,7 @@ gmp 6.1.2 - checked 16dec16 graphite2 1.3.9 - checked 13nov16 http://sourceforge.net/projects/silgraphite/files/graphite2/ -harfbuzz 1.4.3 - checked 25feb17 +harfbuzz 1.4.4 - checked 06mar17 http://www.freedesktop.org/software/harfbuzz/release/ icu 57.1 (release) - checked 27mar16 diff --git a/Build/source/libs/harfbuzz/ChangeLog b/Build/source/libs/harfbuzz/ChangeLog index 7876a29e2ab..1886864f353 100644 --- a/Build/source/libs/harfbuzz/ChangeLog +++ b/Build/source/libs/harfbuzz/ChangeLog @@ -1,3 +1,8 @@ +2017-03-06 Akira Kakuto <kakuto@fuk.kindai.ac.jp> + + Import harfbuzz-1.4.4. + * version.ac: Adjusted. + 2017-02-25 Akira Kakuto <kakuto@fuk.kindai.ac.jp> Import harfbuzz-1.4.3. diff --git a/Build/source/libs/harfbuzz/TLpatches/ChangeLog b/Build/source/libs/harfbuzz/TLpatches/ChangeLog index fd5b26cd274..72a58d4d2c5 100644 --- a/Build/source/libs/harfbuzz/TLpatches/ChangeLog +++ b/Build/source/libs/harfbuzz/TLpatches/ChangeLog @@ -1,3 +1,8 @@ +2017-03-06 Akira Kakuto <kakuto@fuk.kindai.ac.jp> + + Imported harfbuzz-1.4.4 source tree from: + http://www.freedesktop.org/software/harfbuzz/release/ + 2017-02-25 Akira Kakuto <kakuto@fuk.kindai.ac.jp> Imported harfbuzz-1.4.3 source tree from: diff --git a/Build/source/libs/harfbuzz/TLpatches/TL-Changes b/Build/source/libs/harfbuzz/TLpatches/TL-Changes index 4560aa752a8..d197056856a 100644 --- a/Build/source/libs/harfbuzz/TLpatches/TL-Changes +++ b/Build/source/libs/harfbuzz/TLpatches/TL-Changes @@ -1,4 +1,4 @@ -Changes applied to the harfbuzz-1.4.3/ tree as obtained from: +Changes applied to the harfbuzz-1.4.4/ tree as obtained from: http://www.freedesktop.org/software/harfbuzz/release/ Removed: diff --git a/Build/source/libs/harfbuzz/configure b/Build/source/libs/harfbuzz/configure index 510e2866316..dcf9c15b909 100755 --- a/Build/source/libs/harfbuzz/configure +++ b/Build/source/libs/harfbuzz/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for harfbuzz (TeX Live) 1.4.3. +# Generated by GNU Autoconf 2.69 for harfbuzz (TeX Live) 1.4.4. # # Report bugs to <tex-k@tug.org>. # @@ -580,8 +580,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='harfbuzz (TeX Live)' PACKAGE_TARNAME='harfbuzz--tex-live-' -PACKAGE_VERSION='1.4.3' -PACKAGE_STRING='harfbuzz (TeX Live) 1.4.3' +PACKAGE_VERSION='1.4.4' +PACKAGE_STRING='harfbuzz (TeX Live) 1.4.4' PACKAGE_BUGREPORT='tex-k@tug.org' PACKAGE_URL='' @@ -1312,7 +1312,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures harfbuzz (TeX Live) 1.4.3 to adapt to many kinds of systems. +\`configure' configures harfbuzz (TeX Live) 1.4.4 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1383,7 +1383,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of harfbuzz (TeX Live) 1.4.3:";; + short | recursive ) echo "Configuration of harfbuzz (TeX Live) 1.4.4:";; esac cat <<\_ACEOF @@ -1490,7 +1490,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -harfbuzz (TeX Live) configure 1.4.3 +harfbuzz (TeX Live) configure 1.4.4 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2080,7 +2080,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by harfbuzz (TeX Live) $as_me 1.4.3, which was +It was created by harfbuzz (TeX Live) $as_me 1.4.4, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -4003,7 +4003,7 @@ fi # Define the identity of the package. PACKAGE='harfbuzz--tex-live-' - VERSION='1.4.3' + VERSION='1.4.4' cat >>confdefs.h <<_ACEOF @@ -4206,8 +4206,8 @@ WARNING_CFLAGS=$kpse_cv_warning_cflags HB_VERSION_MAJOR=1 HB_VERSION_MINOR=4 -HB_VERSION_MICRO=3 -HB_VERSION=1.4.3 +HB_VERSION_MICRO=4 +HB_VERSION=1.4.4 ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -6866,7 +6866,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by harfbuzz (TeX Live) $as_me 1.4.3, which was +This file was extended by harfbuzz (TeX Live) $as_me 1.4.4, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -6932,7 +6932,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -harfbuzz (TeX Live) config.status 1.4.3 +harfbuzz (TeX Live) config.status 1.4.4 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/ChangeLog b/Build/source/libs/harfbuzz/harfbuzz-src/ChangeLog index 12e9995315f..f0964ec544b 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-src/ChangeLog +++ b/Build/source/libs/harfbuzz/harfbuzz-src/ChangeLog @@ -1,3 +1,79 @@ +commit 9ac9af725c781f4597e8db46cf330d595c072739 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun Mar 5 13:51:01 2017 -0800 + + Add TODO item + + src/hb-ot-layout-gsubgpos-private.hh | 24 +++++++++++++++++++++++- + 1 file changed, 23 insertions(+), 1 deletion(-) + +commit 5aec2fb8d0a4db52ae414d980b66018ca5ce1e9c +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Mar 2 11:46:33 2017 -0800 + + Remove TODO item that is not going to happen + + src/hb-ot-shape.cc | 1 - + 1 file changed, 1 deletion(-) + +commit b9b005f3a44ccf78a45b212b126287b69b9f4b40 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Mar 1 14:27:23 2017 -0800 + + Fix Context lookup application when moving back after a glyph delete + + This was broken forever, since days that we did not allow moving + tape backwards. Works now. Reported by Doug Felt. + + src/hb-ot-layout-gsubgpos-private.hh | 7 +++---- + .../sha1sum/5bbf3712e6f79775c66a4407837a90e591efbef2.ttf | Bin 0 -> + 6400 bytes + test/shaping/tests/context-matching.tests | 1 + + 3 files changed, 4 insertions(+), 4 deletions(-) + +commit a11501444cfc4854bfe2b1d3ce0fc5a957e959d8 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat Feb 25 13:37:54 2017 -0800 + + Add few tests found by libFuzzer and oss-fuzz + + .../sha1sum/a34a9191d9376bda419836effeef7e75c1386016.ttf | Bin 0 -> + 1010 bytes + .../sha1sum/a69118c2c2ada48ff803d9149daa54c9ebdae30e.ttf | Bin 0 -> + 820 bytes + .../sha1sum/b6acef662e0beb8d5fcf5b61c6b0ca69537b7402.ttf | Bin 0 -> + 3301 bytes + .../sha1sum/e88c339237f52d21e01c55f01b9c1b4cc14a0467.ttf | Bin 0 -> + 515 bytes + test/shaping/tests/fuzzed.tests | 4 ++++ + 5 files changed, 4 insertions(+) + +commit 85630996b8afa699f7b5d19346cdf5c72fcd6e2d +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat Feb 25 13:30:38 2017 -0800 + + Fix buffer-overrun with Bengali reph positioning code + + This has no security implications whatsoever since we always keep + and extra element at the end of buffer, just in case. + + Discovered by oss-fuzz + CC https://github.com/behdad/harfbuzz/issues/139 + Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=660 + + src/hb-ot-shape-complex-indic.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 6685d281d6f50bf046bbfef4a5263e15d15f2f02 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat Feb 25 11:35:05 2017 -0800 + + 1.4.3 + + NEWS | 12 ++++++++++++ + configure.ac | 2 +- + 2 files changed, 13 insertions(+), 1 deletion(-) + commit a657f23ca31237d652b5c101ed24194b6aeadaf8 Author: Dominik Röttsches <d-r@roettsches.de> Date: Mon Feb 20 21:52:07 2017 +0200 diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/NEWS b/Build/source/libs/harfbuzz/harfbuzz-src/NEWS index e175b38a8f5..48a51d68fe4 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-src/NEWS +++ b/Build/source/libs/harfbuzz/harfbuzz-src/NEWS @@ -1,3 +1,11 @@ +Overview of changes leading to 1.4.4 +Sunday, March 5, 2017 +==================================== + +- Fix Context lookup application when moving back after a glyph deletion. +- Fix buffer-overrun in Bengali. + + Overview of changes leading to 1.4.3 Saturday, February 25, 2017 ==================================== diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/configure.ac b/Build/source/libs/harfbuzz/harfbuzz-src/configure.ac index a3eb0f02136..55b48a53b8a 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-src/configure.ac +++ b/Build/source/libs/harfbuzz/harfbuzz-src/configure.ac @@ -1,6 +1,6 @@ AC_PREREQ([2.64]) AC_INIT([HarfBuzz], - [1.4.3], + [1.4.4], [https://github.com/behdad/harfbuzz/issues/new], [harfbuzz], [http://harfbuzz.org/]) diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gsubgpos-private.hh b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gsubgpos-private.hh index 0c423526861..005ed21d804 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gsubgpos-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gsubgpos-private.hh @@ -996,17 +996,38 @@ static inline bool apply_lookup (hb_apply_context_t *c, if (!delta) continue; - /* Recursed lookup changed buffer len. Adjust. */ + /* Recursed lookup changed buffer len. Adjust. + * + * TODO: + * + * Right now, if buffer length increased by n, we assume n new glyphs + * were added right after the current position, and if buffer length + * was decreased by n, we assume n match positions after the current + * one where removed. The former (buffer length increased) case is + * fine, but the decrease case can be improved in at least two ways, + * both of which are significant: + * + * - If recursed-to lookup is MultipleSubst and buffer length + * decreased, then it's current match position that was deleted, + * NOT the one after it. + * + * - If buffer length was decreased by n, it does not necessarily + * mean that n match positions where removed, as there might + * have been marks and default-ignorables in the sequence. We + * should instead drop match positions between current-position + * and current-position + n instead. + * + * It should be possible to construct tests for both of these cases. + */ end += delta; - if (end <= int (match_positions[idx])) + if (end < int (match_positions[idx])) { /* End might end up being smaller than match_positions[idx] if the recursed - * lookup ended up removing many items, more than we have had matched. + * lookup ended up removing too many items. * Just never rewind end back and get out of here. * https://bugs.chromium.org/p/chromium/issues/detail?id=659496 */ end = match_positions[idx]; - /* There can't be any further changes. */ break; } @@ -1019,7 +1040,7 @@ static inline bool apply_lookup (hb_apply_context_t *c, } else { - /* NOTE: delta is negative. */ + /* NOTE: delta is non-positive. */ delta = MAX (delta, (int) next - (int) count); next -= delta; } diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-indic.cc b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-indic.cc index b48fb561c39..ec12ce69e0b 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-indic.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape-complex-indic.cc @@ -1497,7 +1497,7 @@ final_reordering_syllable (const hb_ot_shape_plan_t *plan, if (reph_pos == REPH_POS_AFTER_SUB) { new_reph_pos = base; - while (new_reph_pos < end && + while (new_reph_pos + 1 < end && !( FLAG_SAFE (info[new_reph_pos + 1].indic_position()) & (FLAG (POS_POST_C) | FLAG (POS_AFTER_POST) | FLAG (POS_SMVD)))) new_reph_pos++; if (new_reph_pos < end) diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape.cc b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape.cc index 2eacb34c4d9..29f5e58e519 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-shape.cc @@ -378,7 +378,6 @@ hb_ot_shape_setup_masks_fraction (hb_ot_shape_context_t *c) post_mask = c->plan->numr_mask | c->plan->frac_mask; } - /* TODO look in pre/post context text also. */ unsigned int count = buffer->len; hb_glyph_info_t *info = buffer->info; for (unsigned int i = 0; i < count; i++) diff --git a/Build/source/libs/harfbuzz/version.ac b/Build/source/libs/harfbuzz/version.ac index d3c36985937..b9f790cd2b1 100644 --- a/Build/source/libs/harfbuzz/version.ac +++ b/Build/source/libs/harfbuzz/version.ac @@ -8,4 +8,4 @@ dnl dnl -------------------------------------------------------- dnl dnl m4-include this file to define the current harfbuzz version -m4_define([harfbuzz_version], [1.4.3]) +m4_define([harfbuzz_version], [1.4.4]) |