Commit Graph

2376 Commits

Author SHA1 Message Date
Akira TAGOH e9113a764a Do not run a test case for .uuid deletion 2018-10-25 07:16:32 +00:00
Keith Packard 5f12f564f8 Do not remove UUID file when a scanned directory is empty
Because FcDirCacheDeleteUUID does not reset the modification time on
the directory, and because FcDirCacheRead unconditionally creates the
UUID file each time it is run, any empty directory in the cache will
get its timestamp changed each time the cache for that directory is
read.

Instead, just leave the UUID file around as it is harmless.

The alternative would be to only create the UUID file after the cache
has been created and the directory has been discovered to be
non-empty, but that would delay the creation of the UUID file.

Signed-off-by: Keith Packard <keithp@keithp.com>
2018-10-25 16:02:55 +09:00
Akira TAGOH 5f5ec5676c Do not try updating mtime when unlink was failed 2018-10-05 02:32:09 +00:00
Akira TAGOH ff5b49be2b Do not update mtime when removing .uuid file
This avoids a situation triggers updating caches on a directory where .uuid file was removed.

Resolves: https://gitlab.freedesktop.org/fontconfig/fontconfig/issues/107
2018-10-05 02:32:07 +00:00
Akira TAGOH 8badaae15b CI: Add more logs 2018-10-04 08:30:40 +00:00
Akira TAGOH 5771c48863 Fix test case 2018-10-04 08:20:45 +00:00
Akira TAGOH e4788c5a96 add missing the case of prefix="default" as documented 2018-10-04 08:07:09 +00:00
Akira TAGOH 942db25fbc Update docs for 1aa8b700 2018-10-04 08:07:07 +00:00
Akira TAGOH 67b4090321 Update fonts.dtd for last commit 2018-10-04 08:07:05 +00:00
Akira TAGOH 1aa8b700c3 Add more prefix support in <dir> element
Added two prefix modes:
  "relative" that makes the relative path be relative to current file
  "cwd" for relative to current working directory which implies current behavior.

Resolves: https://gitlab.freedesktop.org/fontconfig/fontconfig/issues/15
2018-10-02 10:12:14 +00:00
Akira TAGOH f0aae4455e Fix CI 2018-09-28 09:17:37 +00:00
Akira TAGOH ba206df9b9 Add a test case for d1f48f11 2018-09-05 12:08:52 +00:00
Akira TAGOH 806fd4c2c5 Fix the issue that '~' wasn't extracted to the proper homedir
'~' in the filename was extracted to the home directory name in FcConfigFilename() though,
this behavior was broken by d1f48f11. this change fixes it back to the correct behavior.

https://gitlab.freedesktop.org/fontconfig/fontconfig/issues/110
2018-09-04 09:55:20 +00:00
Akira TAGOH 8208f99fa1 Fix the build issue with --enable-static
Fixes https://gitlab.freedesktop.org/fontconfig/fontconfig/issues/109
2018-09-03 07:24:42 +00:00
Akira TAGOH 844d8709a1 Bump version to 2.13.1 2018-08-30 17:20:15 +09:00
Akira TAGOH e62b922318 Bump the libtool revision 2018-08-30 08:18:25 +00:00
Akira TAGOH a059ce315d Add .gitlab-ci.yml 2018-08-29 10:13:13 +00:00
Akira TAGOH a887659706 Fix distcheck fail 2018-08-29 10:01:45 +00:00
Akira TAGOH 0ce32973c8 Update the issue tracker URL 2018-08-28 19:22:11 +09:00
Akira TAGOH ddeec818cc Fix missing closing bracket in FcStrIsAbsoluteFilename()
Fixes https://gitlab.freedesktop.org/fontconfig/fontconfig/issues/96
2018-08-21 03:08:58 +00:00
Akira TAGOH a1efb5ea8c Fix the build issue with gperf
GPerf seems not allowing the empty lines though, current recipes are supposed to drop them.
but seems not working on some env.
So taking the proper way to do that instead of incompatible things against platforms.
2018-08-01 08:10:35 +00:00
Tom Anderson 1451f829e7 Fix build with CFLAGS="-std=c11 -D_GNU_SOURCE" 2018-07-26 02:57:07 +00:00
Akira TAGOH 9f1b92f27f Fix memory leak 2018-07-25 13:41:47 +09:00
Akira TAGOH 5b277806df Drop the redundant code
"value == FcTypeInteger" won't be true because it was converted to FcTypeDouble earlier
2018-07-25 12:44:38 +09:00
Akira TAGOH a1ad5fe2ba Allocate sufficient memory to terminate with null 2018-07-25 12:40:17 +09:00
Akira TAGOH 5ea2ab6a38 Make a call fail on ENOMEM 2018-07-25 12:39:53 +09:00
Akira TAGOH 38569f2f2e Fix allocating insufficient memory for terminating null of the string 2018-07-19 08:31:59 +00:00
Akira TAGOH b1762935c3 Fix possibly dereferencing a null pointer 2018-07-19 08:31:14 +00:00
Akira TAGOH 8e97d745cc Fix a typo 2018-07-19 08:21:33 +00:00
Akira TAGOH efac784b01 Fix dereferencing null pointer 2018-07-19 07:55:40 +00:00
Akira TAGOH 1ac2218467 do not pass null pointer to memcpy 2018-07-19 07:50:20 +00:00
Akira TAGOH f3981a8bcd Fix access in a null pointer dereference 2018-07-19 16:44:03 +09:00
Akira TAGOH 586ac3b6c0 Fix array access in a null pointer dereference
FcFontSetFont() accesses fs->fonts in that macro though, there was no error checks
if it is null or not.
As a result, there was a code path that it could be a null.
Even though this is unlikely to see in usual use, it might be intentionally created
in a cache.

So if fs->fonts is a null, we should consider a cache is invalid.
2018-07-19 07:09:39 +00:00
Akira TAGOH 51afd09d62 Fix unterminated string issue 2018-07-19 05:51:02 +00:00
Akira TAGOH 37c9c16dad Fix memory leak 2018-07-19 04:29:01 +00:00
Akira TAGOH 433718fb77 Fix memory leak 2018-07-19 04:17:21 +00:00
Akira TAGOH eafa931ff9 Fix memory leak 2018-07-19 03:15:01 +00:00
Akira TAGOH 12be797387 Fix memory leaks 2018-07-19 03:14:58 +00:00
Akira TAGOH 4b1276e240 Fix memory leak 2018-07-19 03:14:54 +00:00
Akira TAGOH e9d3177557 Fix the leak of file handle 2018-07-19 11:32:50 +09:00
Tom Anderson d1f48f11d5 Return canonicalized paths from FcConfigRealFilename
FcConfigRealFilename() follows symlinks, but the link may be relative to the
directory containing the link.  For example, on my system, I have this file:

/etc/fonts/conf.d/99-language-selector-zh.conf ->
    ../conf.avail/99-language-selector-zh.conf

Since /etc/fonts/conf.d is probably not in PATH, open()ing the file would fail.
This change makes FcConfigRealFilename() return the canonicalized filename
instead.  So for the example above, it would return:

/etc/fonts/conf.avail/99-language-selector-zh.conf

This was causing bad font rendering in Chromium [1] after the regression I
introduced in 7ad010e80b.

[1] https://bugs.chromium.org/p/chromium/issues/detail?id=857511
2018-07-16 18:00:35 +02:00
Behdad Esfahbod 48e9e5f4f0 Use FT_HAS_COLOR 2018-07-16 17:59:54 +02:00
Matthieu Herrb 5a46d572c0 FcCacheFindByStat(): fix checking of nanoseconds field. 2018-07-10 12:27:16 +09:00
Tom Anderson 6cc99d6a82 Fix heap use-after-free 2018-06-13 17:05:54 +09:00
Akira TAGOH f5dd8512bd Remove .uuid when no font files exists on a directory
https://bugs.freedesktop.org/show_bug.cgi?id=106632
2018-06-11 17:03:46 +09:00
Tom Anderson 096e8019be Fix CFI builds
CFI [1] is a dynamic analysis tool that checks types at runtime.  It reports an
error when using a function with signature eg. (void (*)(char*)) as
(void (*)(void*)).  This change adds some wrapper functions to avoid this issue.
In optimized builds, the functions should get optimized away.

[1] https://clang.llvm.org/docs/ControlFlowIntegrity.html
2018-06-11 16:02:57 +09:00
Akira TAGOH d1771cfbd1 Update CaseFolding.txt to Unicode 11 2018-06-08 21:16:15 +09:00
Akira TAGOH 3fa8381336 Add a test case for bz#106618 2018-05-25 15:24:44 +09:00
Akira TAGOH 14c23a5715 Fix double-free 2018-05-25 15:20:10 +09:00
Alexander Larsson 3ea70f9368 Cache: Remove alias_table
There is really no need for this anymore

https://bugs.freedesktop.org/show_bug.cgi?id=106618
2018-05-25 14:43:06 +09:00