Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libXft for openSUSE:Factory checked in at 2022-09-11 21:57:17 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libXft (Old) and /work/SRC/openSUSE:Factory/.libXft.new.2083 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libXft" Sun Sep 11 21:57:17 2022 rev:16 rq:1002441 version:2.3.6 Changes: -------- --- /work/SRC/openSUSE:Factory/libXft/libXft.changes 2022-09-07 11:05:35.816339469 +0200 +++ /work/SRC/openSUSE:Factory/.libXft.new.2083/libXft.changes 2022-09-11 21:57:19.489623948 +0200 @@ -1,0 +2,6 @@ +Sat Sep 10 17:08:20 UTC 2022 - Stefan Dirsch <sndir...@suse.com> + +- Update to version 2.3.6 + * Fixes a regression in 2.3.5 for XftTextExtents* length-checks. + +------------------------------------------------------------------- @@ -4 +10 @@ -- Update to version 2.3.4 +- Update to version 2.3.5 Old: ---- libXft-2.3.5.tar.xz New: ---- libXft-2.3.6.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libXft.spec ++++++ --- /var/tmp/diff_new_pack.SU0WFW/_old 2022-09-11 21:57:19.905625117 +0200 +++ /var/tmp/diff_new_pack.SU0WFW/_new 2022-09-11 21:57:19.913625141 +0200 @@ -18,7 +18,7 @@ Name: libXft %define lname libXft2 -Version: 2.3.5 +Version: 2.3.6 Release: 0 Summary: X FreeType library License: MIT ++++++ libXft-2.3.5.tar.xz -> libXft-2.3.6.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libXft-2.3.5/ChangeLog new/libXft-2.3.6/ChangeLog --- old/libXft-2.3.5/ChangeLog 2022-09-05 23:08:13.000000000 +0200 +++ new/libXft-2.3.6/ChangeLog 2022-09-10 16:33:08.000000000 +0200 @@ -1,3 +1,42 @@ +commit 7d3bcd3b9ae3ffbfcd4f31c8f1db2254df90bc33 +Author: Thomas E. Dickey <dic...@invisible-island.net> +Date: Sat Sep 10 09:59:49 2022 -0400 + + libXft 2.3.6 + + Signed-off-by: Thomas E. Dickey <dic...@invisible-island.net> + +commit 5e0ed11a43e37e50ba0937beaa40851c2d864981 +Author: Thomas E. Dickey <dic...@invisible-island.net> +Date: Wed Sep 7 19:25:06 2022 -0400 + + fix gcc12 warning about malloc size + + Signed-off-by: Thomas E. Dickey <dic...@invisible-island.net> + +commit ab2df0af3dc7c594d44ccccfa0e7ddeeefb1e70e +Author: Thomas E. Dickey <dic...@invisible-island.net> +Date: Wed Sep 7 19:21:38 2022 -0400 + + revised fix for gcc 12 compiler warnings in xftextent.c + + Signed-off-by: Thomas E. Dickey <dic...@invisible-island.net> + +commit 95284856783b824a714b7506762f4adce3bb17ce +Author: Adam Sampson <a...@offog.org> +Date: Wed Sep 7 00:31:10 2022 +0100 + + Fix length check in XftTextExtents*. + + Commit 06a3c0ab6520e368ac936cb1ef172f19957db0fa added length checks of + the form "if (len <= 0) return;" to various Xft functions. However, + while rendering an empty string is equivalent to doing nothing, asking + for the extents of an empty string isn't -- it still needs to fill in + the extents structure. This broke text rendering in some applications + (e.g. xpdf's Motif GUI). + + Check for len < 0 in XftTextExtents* instead. + commit c6309d4c8fcb5f4879cc25cf81b649f5eb665413 Author: Thomas E. Dickey <dic...@invisible-island.net> Date: Mon Sep 5 15:23:18 2022 -0400 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libXft-2.3.5/NEWS new/libXft-2.3.6/NEWS --- old/libXft-2.3.5/NEWS 2022-09-05 23:08:03.000000000 +0200 +++ new/libXft-2.3.6/NEWS 2022-09-10 16:32:59.000000000 +0200 @@ -1,12 +1,16 @@ Xft X FreeType library - Version 2.3.5 - 2022-09-05 + Version 2.3.6 + 2022-09-10 Xft version 2.1 was the first stand alone release of Xft, a library that connects X applications with the FreeType font rasterization library. Xft uses fontconfig to locate fonts so it has no configuration files. +Version 2.3.6 + +Fixes a regression in 2.3.5 for XftTextExtents* length-checks. + Version 2.3.5 Add support for BGRA glyphs display and scaling diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libXft-2.3.5/configure new/libXft-2.3.6/configure --- old/libXft-2.3.5/configure 2022-09-05 23:08:08.000000000 +0200 +++ new/libXft-2.3.6/configure 2022-09-10 16:33:04.000000000 +0200 @@ -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.6. # # Report bugs to <https://gitlab.freedesktop.org/xorg/lib/libXft/issues>. # @@ -591,8 +591,8 @@ # 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.6' +PACKAGE_STRING='libXft 2.3.6' PACKAGE_BUGREPORT='https://gitlab.freedesktop.org/xorg/lib/libXft/issues' PACKAGE_URL='' @@ -1365,7 +1365,7 @@ # 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.6 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1436,7 +1436,7 @@ 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.6:";; esac cat <<\_ACEOF @@ -1569,7 +1569,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libXft configure 2.3.5 +libXft configure 2.3.6 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1893,7 +1893,7 @@ 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.6, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2761,7 +2761,7 @@ # Define the identity of the package. PACKAGE='libXft' - VERSION='2.3.5' + VERSION='2.3.6' cat >>confdefs.h <<_ACEOF @@ -19140,7 +19140,7 @@ # 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.6, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -19206,7 +19206,7 @@ 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.6 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libXft-2.3.5/configure.ac new/libXft-2.3.6/configure.ac --- old/libXft-2.3.5/configure.ac 2022-09-05 23:08:03.000000000 +0200 +++ new/libXft-2.3.6/configure.ac 2022-09-10 16:32:59.000000000 +0200 @@ -27,7 +27,7 @@ # 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.5], +AC_INIT([libXft], [2.3.6], [https://gitlab.freedesktop.org/xorg/lib/libXft/issues], [libXft]) AC_CONFIG_SRCDIR([Makefile.am]) AC_CONFIG_HEADERS([config.h]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libXft-2.3.5/include/X11/Xft/Xft.h new/libXft-2.3.6/include/X11/Xft/Xft.h --- old/libXft-2.3.5/include/X11/Xft/Xft.h 2022-09-05 23:08:13.000000000 +0200 +++ new/libXft-2.3.6/include/X11/Xft/Xft.h 2022-09-10 16:33:08.000000000 +0200 @@ -31,7 +31,7 @@ /* #undef will be substituted by configure */ #define XFT_MAJOR 2 #define XFT_MINOR 3 -#define XFT_REVISION 5 +#define XFT_REVISION 6 #define XFT_VERSION ((XFT_MAJOR * 10000) + (XFT_MINOR * 100) + (XFT_REVISION)) #define XftVersion XFT_VERSION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libXft-2.3.5/src/xftextent.c new/libXft-2.3.6/src/xftextent.c --- old/libXft-2.3.5/src/xftextent.c 2022-09-05 23:08:03.000000000 +0200 +++ new/libXft-2.3.6/src/xftextent.c 2022-09-10 16:32:59.000000000 +0200 @@ -123,11 +123,11 @@ FT_UInt *glyphs, glyphs_local[NUM_LOCAL]; int i; - if (len <= 0) + if (len < 0) return; if (len <= NUM_LOCAL) - glyphs = glyphs_local; + *(glyphs = glyphs_local) = 0; else { glyphs = AllocUIntArray (len); @@ -154,11 +154,11 @@ FT_UInt *glyphs, glyphs_local[NUM_LOCAL]; int i; - if (len <= 0) + if (len < 0) return; if (len <= NUM_LOCAL) - glyphs = glyphs_local; + *(glyphs = glyphs_local) = 0; else { glyphs = AllocUIntArray (len); @@ -185,11 +185,11 @@ FT_UInt *glyphs, glyphs_local[NUM_LOCAL]; int i; - if (len <= 0) + if (len < 0) return; if (len <= NUM_LOCAL) - glyphs = glyphs_local; + *(glyphs = glyphs_local) = 0; else { glyphs = AllocUIntArray (len); @@ -219,11 +219,11 @@ int l; int size; - if (len <= 0) + if (len < 0) return; i = 0; - glyphs = glyphs_local; + *(glyphs = glyphs_local) = 0; size = NUM_LOCAL; while (len && (l = FcUtf8ToUcs4 (string, &ucs4, len)) > 0) { @@ -266,11 +266,11 @@ int l; int size; - if (len <= 0) + if (len < 0) return; i = 0; - glyphs = glyphs_local; + *(glyphs = glyphs_local) = 0; size = NUM_LOCAL; while (len && (l = FcUtf16ToUcs4 (string, endian, &ucs4, len)) > 0) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libXft-2.3.5/src/xftrender.c new/libXft-2.3.6/src/xftrender.c --- old/libXft-2.3.5/src/xftrender.c 2022-09-05 23:08:03.000000000 +0200 +++ new/libXft-2.3.6/src/xftrender.c 2022-09-10 16:32:59.000000000 +0200 @@ -88,7 +88,7 @@ FT_UInt missing[XFT_NMISSING]; int nmissing; FT_UInt g, max; - int size, width; + int width; int dstx, dsty; Glyph wire; XftGlyph* glyph; @@ -98,6 +98,8 @@ unsigned int char_local[NUM_LOCAL]; unsigned int *chars; FcBool glyphs_loaded; + size_t size; + size_t needed; if (!font->format) return; @@ -137,9 +139,12 @@ size = sizeof (unsigned int); } chars = char_local; - if ((size_t) (nglyphs * size) > sizeof (char_local)) + if ((size_t)nglyphs > SIZE_MAX / size) + goto bail1; + needed = (size_t)nglyphs * size; + if (needed > sizeof (char_local)) { - chars = malloc ((size_t)(nglyphs * size)); + chars = malloc (needed); if (!chars) goto bail1; }