summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-08-02Makefile.bsd-wrapper for libXfont2obsdMatthieu Herrb
2024-08-02Disable xmltoMatthieu Herrb
2024-08-02Sync with xenocaraMatthieu Herrb
2024-08-02bump shared lib version because some symbols were chanded to static.Matthieu Herrb
2024-08-02BSD MakefileMatthieu Herrb
2024-08-01libXfont2 2.0.7HEADlibXfont2-2.0.7masterAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2024-07-19include: libxfont2: fix missing includes of fontproto.hEnrico Weigelt, metux IT consult
* needs types from X11/fonts/fontproto.h (eg. NameCheckFunc) from this header, but forgot to include it. * needs NULL, which is defined in stddef.h Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net> Part-of: <https://gitlab.freedesktop.org/xorg/lib/libxfont/-/merge_requests/28>
2024-07-01stubs/atom.c: Fix memory leak in __libxfont_internal__MakeAtomJosé Expósito
Reported by a static analysis tool: 9. libXfont2-2.0.6/src/stubs/atom.c:179:5: alloc_fn: Storage is returned from allocation function "malloc". 10. libXfont2-2.0.6/src/stubs/atom.c:179:5: var_assign: Assigning: "a" = storage returned from "malloc(24UL + len + 1UL)". 16. libXfont2-2.0.6/src/stubs/atom.c:194:6: leaked_storage: Variable "a" going out of scope leaks the storage it points to. # 192| if ((ResizeHashTable() == FALSE) && # 193| ((hashTable == NULL) || (hashUsed == hashSize))) # 194|-> return None; # 195| h = hash & hashMask; # 196| if (hashTable[h]) { Fixes: 78085e6b683b ("stubs/atom.c: check for ResizeHashTable failure") Part-of: <https://gitlab.freedesktop.org/xorg/lib/libxfont/-/merge_requests/27>
2024-02-17Use autoconf to check for float.h instead of platform-specific ifdefsAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2024-02-17unifdef NCDAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2024-02-17unifdef LynxAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2024-02-17unifdef ISCAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2024-02-17unifdef __OSF1__Alan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2024-02-17unifdef sonyAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2024-02-03bitscale.c: remove unused MAX() macroAlan Coopersmith
Code that used it was removed in commit 632a2e90a4b209facc Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2024-02-03bitscale.c: ensure SCORE macro expands properlyAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2024-02-03bitscale.c: ensure SCORE2 macro expands properlyAlan Coopersmith
Handles warning from Oracle Parfait 11.2 static analyzer: Error: Misleading macro Misleading macro [misleading-macro]: misleading evaluation of '/' operator in expansion of macro SCORE2 due to missing parentheses at line 299 of src/bitmap/bitscale.c. '/' operator has lower precedence than '/' operator inside macro body at line 438 low precedence '/' operator is hidden by expansion of macro argument m at line 299 Misleading macro [misleading-macro]: misleading evaluation of '/' operator in expansion of macro SCORE2 due to missing parentheses at line 299 of src/bitmap/bitscale.c. binary '*' operator has lower precedence than '/' operator inside macro body at line 440 low precedence binary '*' operator is hidden by expansion of macro argument m at line 299 Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2024-01-24configure: Use AC_SYS_LARGEFILE to enable large file supportAlan Coopersmith
While font files should never be more than 2gb in size, they may be stored on filesystems with large inodes or timestamps outside of the 32-bit range. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2024-01-24Modernize lseek() callsAlan Coopersmith
Position should be stored in an off_t, not an int, and the "whence" arg should use symbolic constants instead of raw numbers. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2023-03-25Set close-on-exec when opening fonts.dir & fonts.alias filesAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2023-03-04configure: Use LT_INIT from libtool 2 instead of deprecated AC_PROG_LIBTOOLAlan Coopersmith
AC_PROG_LIBTOOL was replaced by LT_INIT in libtool 2 in 2008, so it's time to rely on it. Clears autoconf warnings: configure.ac:38: warning: The macro `AC_PROG_LIBTOOL' is obsolete. configure.ac:38: You should run autoupdate. aclocal.m4:3640: AC_PROG_LIBTOOL is expanded from... configure.ac:38: the top level libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac, libtoolize: and rerunning libtoolize and aclocal. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2023-02-25Remove "All rights reserved" from Oracle copyright noticesAlan Coopersmith
Oracle no longer includes this term in our copyright & license notices. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2023-02-16configure: raise minimum autoconf requirement to 2.70Alan Coopersmith
Needed for builds on NetBSD to work correctly, since it depends on AC_USE_SYSTEM_EXTENSIONS defining _OPENBSD_SOURCE to expose the prototype for reallocarray() in the system headers. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2022-11-26atom: Update Hash() to be unsignedJeremy Huddleston Sequoia
This avoids undefined behavior (left shift overflow in signed integer type) Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
2022-11-10Fix font server reconnection timeoutPeter Harris
The great libxfont2 rewrite 135fb032e940ce226c9feb13e6e903f3ecbc5eb0 split fs_wakeup into fs_wakeup and fs_fd_handler. The fs_fd_handler side is called when there is new data on the socket. The fs_wakeup side is called on a timeout. If there's a connection timeout, the block handler will set the timeout to zero, expecting fs_wakeup to handle the timeout. Therefore, we need to call _fs_check_reconnect in fs_wakeup to handle the connection timeout. If we don't, the X server will go to 100% CPU (and the font server connection will not be retried). Signed-off-by: Peter Harris <pharris@opentext.com>
2022-11-05Only link with libbsd if needed for reallocarray() or strlcat()Alan Coopersmith
Avoid unnecessary library dependency when using a libc with these functions included Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2022-10-06Switch from libbsd to libbsd-overlayGuillem Jover
This is the preferred usage form for libbsd, as it makes the code more portable and requires no special includes for libbsd, by transparently injects the needed standard headers that would be used on a BSD. Signed-off-by: Guillem Jover <guillem@hadrons.org>
2022-08-26libXfont2 2.0.6libXfont2-2.0.6Alan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2022-08-11Fix buffer overrun in FontFileMakeDir on WIN32Peter Harris
When dirName is "" (eg. when called by BuiltinReadDirectory), FontFileMakeDir would read after the string when WIN32 is defined. Fix the overrun issue by checking the location of the found : before adding two. Signed-off-by: Peter Harris <pharris@opentext.com> Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2022-06-21Fix comments to reflect removal of OS/2 supportAlan Coopersmith
Commit 6c29007756301 removed OS/2 support from the code, but missed updating the comments to match. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2022-06-21Correct fsCreateACReq lengthJeremy Huddleston Sequoia
Regressed-in: 6972ea08ee5b2ef1cfbdc2fcaf14f06bbd391561 Fixes: https://gitlab.freedesktop.org/xorg/lib/libxfont/-/issues/13 Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
2022-06-20configure: Use pkg-config to handle zlib dependency if possibleAlan Coopersmith
Preserves fallback for systems like darwin without zlib.pc Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2022-04-06Fix spelling/wording issuesAlan Coopersmith
Found by using: codespell --builtin clear,rare,usage,informal,code,names Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2022-04-06Build xz tarballs instead of bzip2Alan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2022-04-06gitlab CI: add a basic build testAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2021-08-01libXfont2 2.0.5libXfont2-2.0.5Alan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2021-07-14Fix out-of-bounds read in FontFileMakeDir()Alex Richardson
BuiltinReadDirectory() calls FontFileMakeDir ("", builtin_dir_count); and this causes the `dirName[dirlen - 1]` access to read before the start of the string. I found this while porting Xvnc to CHERI-RISC-V (which has bounds and permissions on all pointers).
2021-06-12configure: define HAVE_LIBBSD when libbsd was foundBernd Kuhls
2021-03-02Fix use after free when font server connection lostPeter Harris
If there are multiple blocks waiting for the same font, only one of them will have ->freeFont set. The rest will be in a state of FS_DEPENDING. If the font server dies before the font finishes opening, the block with ->freeFont set will call ->unload_font, invalidating the pfont pointers in the remaining FS_DEPENDING blocks. Avoid a use after free (and potential crash) by passing conn to fs_cleanup_font instead of dereferencing pfont to find the conn. Signed-off-by: Peter Harris <pharris@opentext.com>
2020-03-06Fix crash when font server connection lostPeter Harris
Always initialize the return value of fs_new_block_rec. Even if the conn->blockState is FS_BROKEN_CONNECTION | FS_RECONNECTING, we must not return with an uninitialized blockrec on the block list. When the blockrec times out, _fs_clean_aborted_blockrec calls fs_cleanup_bfont, which will try to follow pointers in the blockrec (which has not been initialized). Signed-off-by: Peter Harris <pharris@opentext.com>
2019-10-25Fix Win32 build since c4ed2e06 "Add some unit testing utilities"Jon Turney
Provide Win32 replacements for realpath() and err.h
2019-09-16README: Remove mention of libXfont 1.5Adam Jackson
xfs was ported to libXfont2 in release 1.2, and bdftopcf 1.1 includes a copy of enough of the old libXfont1 code to not need an external libXfont at all.
2019-09-14libXfont2 2.0.4libXfont2-2.0.4Alan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2019-09-14Add src/util/replace.h to noinst_HEADERS so it gets included in tarballsAlan Coopersmith
Found when "make distcheck" failed. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2019-08-17fs_read_glyphs: check if rep is null before dereferencingAlan Coopersmith
Resolves coverity warning def16 from the list in https://gitlab.freedesktop.org/xorg/lib/libxfont/issues/6 Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2019-08-17CatalogueRescan: if opendir() fails, unref fpes, but don't free the catAlan Coopersmith
None of the callers of CatalogueRescan check for failure before accessing the cat pointer so don't free it (especially without clearing the pointer to it in fpe->private), just unref the contents. Can only be triggered if somehow stat() succeeds on the directory, but opendir fails anyway (removed between the calls? permission problem?). Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2019-08-17ComputeScaledProperties: check for valid pointers before making atomsAlan Coopersmith
Resolves coverity warning def23 from the list in https://gitlab.freedesktop.org/xorg/lib/libxfont/issues/6 Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2019-08-17stubs/atom.c: check for ResizeHashTable failureAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2019-08-17Fix whitespaceMaya Rashish
2019-08-04fontxlfd.c: tell gcc that switch fallthrough is intentionalAlan Coopersmith
Quiets: src/util/fontxlfd.c: In function ‘FontParseXLFDName’: src/util/fontxlfd.c:450:14: warning: this statement may fall through [-Wimplicit-fallthrough=] replaceChar = '*'; ~~~~~~~~~~~~^~~~~ src/util/fontxlfd.c:451:5: note: here case FONT_XLFD_REPLACE_ZERO: ^~~~ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>