diff options
author | Matthieu Herrb <matthieu@cvs.openbsd.org> | 2022-11-16 20:25:47 +0000 |
---|---|---|
committer | Matthieu Herrb <matthieu@cvs.openbsd.org> | 2022-11-16 20:25:47 +0000 |
commit | a05573bdf6a9525ee61b7e8be5da20b3f10e97b2 (patch) | |
tree | 30d64068ee3ffcba2d665a1fae6571017598626b /lib | |
parent | beb6af713aa11cdc16adf3ae80835c261e37d50b (diff) |
Update libXft to version 2.3.7.
This is a fix for a stack overflow that was introduced in 2.3.5.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libXft/ChangeLog | 54 | ||||
-rw-r--r-- | lib/libXft/compile | 6 | ||||
-rw-r--r-- | lib/libXft/configure | 20 | ||||
-rw-r--r-- | lib/libXft/configure.ac | 2 | ||||
-rw-r--r-- | lib/libXft/src/xftglyphs.c | 4 | ||||
-rw-r--r-- | lib/libXft/src/xftrender.c | 3 |
6 files changed, 72 insertions, 17 deletions
diff --git a/lib/libXft/ChangeLog b/lib/libXft/ChangeLog index 641e8cc3c..c20d30664 100644 --- a/lib/libXft/ChangeLog +++ b/lib/libXft/ChangeLog @@ -1,3 +1,57 @@ +commit 1463255cd4f537baabf8f2c65270e4924d4ed656 +Author: Thomas E. Dickey <dickey@invisible-island.net> +Date: Tue Nov 15 03:39:55 2022 -0500 + + libXft 2.3.7 + + Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net> + +commit 4f704b700beb6486213e1096b0e702f4a9067184 +Author: Thomas E. Dickey <dickey@invisible-island.net> +Date: Mon Nov 14 18:42:47 2022 -0500 + + libxft issue #16 + + https://gitlab.freedesktop.org/xorg/lib/libxft/-/issues/16 + + Stack gets smashed in fonts with colors when calling XftGlyphRender + + BGRA changes made incorrect comparison for local vs allocated + buffer in XftGlyphSpecRender + + Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net> + +commit de4592a18bba0bfc88232f6f4ecad7c2fa5e616e +Author: Thomas E. Dickey <dickey@invisible-island.net> +Date: Sun Nov 13 05:56:12 2022 -0500 + + fix compiler warning + + Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net> + +commit 98e27ba4b2c3a4825a3497cd481992374a9c9e98 +Author: Thomas E. Dickey <dickey@invisible-island.net> +Date: Sat Nov 12 12:48:08 2022 -0500 + + libxft issue #15 + + https://gitlab.freedesktop.org/xorg/lib/libxft/-/issues/15 + + XftFontLoadGlyphs for mono font returns wrong info in extents from + XftTextExtentsUtf8 for variable chars + + Patch by Scott Mcdermott, based on + + https://github.com/googlefonts/Inconsolata/issues/42 + + Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net> + +commit 6d246534bd156e5cb901b2cc9e2b9d473cf73506 +Author: ericLemanissier <eric.lemanissier@gmail.com> +Date: Fri Sep 23 07:59:55 2022 +0000 + + stdint.h header is needed for SIZE_MAX + commit 7d3bcd3b9ae3ffbfcd4f31c8f1db2254df90bc33 Author: Thomas E. Dickey <dickey@invisible-island.net> Date: Sat Sep 10 09:59:49 2022 -0400 diff --git a/lib/libXft/compile b/lib/libXft/compile index 99e50524b..df363c8fb 100644 --- a/lib/libXft/compile +++ b/lib/libXft/compile @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2018 Free Software Foundation, Inc. +# Copyright (C) 1999-2021 Free Software Foundation, Inc. # Written by Tom Tromey <tromey@cygnus.com>. # # This program is free software; you can redistribute it and/or modify @@ -53,7 +53,7 @@ func_file_conv () MINGW*) file_conv=mingw ;; - CYGWIN*) + CYGWIN* | MSYS*) file_conv=cygwin ;; *) @@ -67,7 +67,7 @@ func_file_conv () mingw/*) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; - cygwin/*) + cygwin/* | msys/*) file=`cygpath -m "$file" || echo "$file"` ;; wine/*) diff --git a/lib/libXft/configure b/lib/libXft/configure index eb1201e23..90cc6579c 100644 --- a/lib/libXft/configure +++ b/lib/libXft/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for libXft 2.3.5. +# Generated by GNU Autoconf 2.69 for libXft 2.3.7. # # Report bugs to <https://gitlab.freedesktop.org/xorg/lib/libXft/issues>. # @@ -591,8 +591,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='libXft' PACKAGE_TARNAME='libXft' -PACKAGE_VERSION='2.3.5' -PACKAGE_STRING='libXft 2.3.5' +PACKAGE_VERSION='2.3.7' +PACKAGE_STRING='libXft 2.3.7' PACKAGE_BUGREPORT='https://gitlab.freedesktop.org/xorg/lib/libXft/issues' PACKAGE_URL='' @@ -1366,7 +1366,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 libXft 2.3.5 to adapt to many kinds of systems. +\`configure' configures libXft 2.3.7 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1437,7 +1437,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libXft 2.3.5:";; + short | recursive ) echo "Configuration of libXft 2.3.7:";; esac cat <<\_ACEOF @@ -1568,7 +1568,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libXft configure 2.3.5 +libXft configure 2.3.7 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1892,7 +1892,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 libXft $as_me 2.3.5, which was +It was created by libXft $as_me 2.3.7, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2721,7 +2721,7 @@ fi # Define the identity of the package. PACKAGE='libXft' - VERSION='2.3.5' + VERSION='2.3.7' cat >>confdefs.h <<_ACEOF @@ -18436,7 +18436,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 libXft $as_me 2.3.5, which was +This file was extended by libXft $as_me 2.3.7, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -18502,7 +18502,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="\\ -libXft config.status 2.3.5 +libXft config.status 2.3.7 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/lib/libXft/configure.ac b/lib/libXft/configure.ac index 016cb88ec..0bb799756 100644 --- a/lib/libXft/configure.ac +++ b/lib/libXft/configure.ac @@ -27,7 +27,7 @@ AC_PREREQ([2.60]) # version. This version number will be substituted into Xft.h # Please bump the minor library number at each release as well. # -AC_INIT([libXft], [2.3.6], +AC_INIT([libXft], [2.3.7], [https://gitlab.freedesktop.org/xorg/lib/libXft/issues], [libXft]) AC_CONFIG_SRCDIR([Makefile.am]) AC_CONFIG_HEADERS([config.h]) diff --git a/lib/libXft/src/xftglyphs.c b/lib/libXft/src/xftglyphs.c index d928a702f..6781cd8ec 100644 --- a/lib/libXft/src/xftglyphs.c +++ b/lib/libXft/src/xftglyphs.c @@ -847,11 +847,11 @@ XftFontLoadGlyphs (Display *dpy, if (font->info.load_flags & FT_LOAD_VERTICAL_LAYOUT) { xftg->metrics.xOff = 0; - xftg->metrics.yOff = (short)(-font->public.max_advance_width); + xftg->metrics.yOff = (short)(-TRUNC(ROUND(glyphslot->advance.y))); } else { - xftg->metrics.xOff = (short)(font->public.max_advance_width); + xftg->metrics.xOff = (short)(TRUNC(ROUND(glyphslot->advance.x))); xftg->metrics.yOff = 0; } } diff --git a/lib/libXft/src/xftrender.c b/lib/libXft/src/xftrender.c index 3021d5616..58bd63ab3 100644 --- a/lib/libXft/src/xftrender.c +++ b/lib/libXft/src/xftrender.c @@ -21,6 +21,7 @@ */ #include "xftint.h" +#include <stdint.h> #define NUM_LOCAL 1024 #define NUM_ELT_LOCAL 128 @@ -364,7 +365,7 @@ XftGlyphSpecRender (Display *dpy, } elts = elts_local; - if (!font->info.color && nelt > NUM_ELT_LOCAL) + if (nelt > NUM_ELT_LOCAL) { elts = AllocGlyphElt8Array (nelt); if (!elts) |