Age | Commit message (Collapse) | Author |
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
* 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>
|
|
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>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Code that used it was removed in commit 632a2e90a4b209facc
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
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>
|
|
Oracle no longer includes this term in our copyright & license notices.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
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>
|
|
This avoids undefined behavior (left shift overflow in signed integer type)
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
|
|
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>
|
|
Avoid unnecessary library dependency when using a libc with these
functions included
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
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>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
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>
|
|
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>
|
|
Regressed-in: 6972ea08ee5b2ef1cfbdc2fcaf14f06bbd391561
Fixes: https://gitlab.freedesktop.org/xorg/lib/libxfont/-/issues/13
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
|
|
Preserves fallback for systems like darwin without zlib.pc
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Found by using:
codespell --builtin clear,rare,usage,informal,code,names
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
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).
|
|
|
|
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>
|
|
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>
|
|
Provide Win32 replacements for realpath() and err.h
|
|
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.
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Found when "make distcheck" failed.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
|
|
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>
|
|
Introduces mallocarray as a macro calling reallocarray with a NULL
pointer for the old allocation.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Implementation copied from the Xserver
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Replace strcpy, strcat, sprintf with strlcpy, strlcat, snprintf
everywhere, even where there were already bounds checks in place,
to reduce time spent checking static analysis results.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Implementations copied from the Xserver
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|