mirror of
git://slackware.nl/current.git
synced 2024-12-30 10:24:23 +01:00
ca24bdf217
a/hwdata-0.342-noarch-1.txz: Upgraded. a/pam-1.5.1-x86_64-1.txz: Upgraded. ap/sqlite-3.34.0-x86_64-1.txz: Upgraded. l/libarchive-3.5.0-x86_64-1.txz: Upgraded. x/fontconfig-2.13.92-x86_64-1.txz: Upgraded. I'm pretty sure there was a good reason to switch to 2.13.92 on the devel release path, but I'm not sure the same can be said about 2.13.93. We'll stick with this one for now until there's a stable release or another good reason to bump it. x/xorg-server-1.20.10-x86_64-1.txz: Upgraded. x/xorg-server-xephyr-1.20.10-x86_64-1.txz: Upgraded. x/xorg-server-xnest-1.20.10-x86_64-1.txz: Upgraded. x/xorg-server-xvfb-1.20.10-x86_64-1.txz: Upgraded. x/xorg-server-xwayland-1.20.10-x86_64-1.txz: Upgraded. xap/gnuplot-5.4.1-x86_64-1.txz: Upgraded.
122 lines
4 KiB
Diff
122 lines
4 KiB
Diff
From fcada522913e5e07efa6367eff87ace9f06d24c8 Mon Sep 17 00:00:00 2001
|
|
From: Akira TAGOH <akira@tagoh.org>
|
|
Date: Wed, 28 Aug 2019 17:46:03 +0900
|
|
Subject: [PATCH] Do not return FcFalse from FcConfigParseAndLoad*() if
|
|
complain is set to false
|
|
|
|
https://bugzilla.redhat.com/show_bug.cgi?id=1744377
|
|
---
|
|
src/fcxml.c | 8 ++++---
|
|
test/Makefile.am | 4 ++++
|
|
test/test-bz1744377.c | 51 +++++++++++++++++++++++++++++++++++++++++++
|
|
3 files changed, 60 insertions(+), 3 deletions(-)
|
|
create mode 100644 test/test-bz1744377.c
|
|
|
|
diff --git a/src/fcxml.c b/src/fcxml.c
|
|
index 2e26e77a..076fa301 100644
|
|
--- a/src/fcxml.c
|
|
+++ b/src/fcxml.c
|
|
@@ -3526,7 +3526,7 @@ _FcConfigParse (FcConfig *config,
|
|
int len;
|
|
FcStrBuf sbuf;
|
|
char buf[BUFSIZ];
|
|
- FcBool ret = FcFalse;
|
|
+ FcBool ret = FcFalse, complain_again = complain;
|
|
|
|
#ifdef _WIN32
|
|
if (!pGetSystemWindowsDirectory)
|
|
@@ -3605,7 +3605,7 @@ _FcConfigParse (FcConfig *config,
|
|
close (fd);
|
|
|
|
ret = FcConfigParseAndLoadFromMemoryInternal (config, filename, FcStrBufDoneStatic (&sbuf), complain, load);
|
|
- complain = FcFalse; /* no need to reclaim here */
|
|
+ complain_again = FcFalse; /* no need to reclaim here */
|
|
bail1:
|
|
FcStrBufDestroy (&sbuf);
|
|
bail0:
|
|
@@ -3613,7 +3613,9 @@ bail0:
|
|
FcStrFree (filename);
|
|
if (realfilename)
|
|
FcStrFree (realfilename);
|
|
- if (!ret && complain)
|
|
+ if (!complain)
|
|
+ return FcTrue;
|
|
+ if (!ret && complain_again)
|
|
{
|
|
if (name)
|
|
FcConfigMessage (0, FcSevereError, "Cannot %s config file \"%s\"", load ? "load" : "scan", name);
|
|
diff --git a/test/Makefile.am b/test/Makefile.am
|
|
index f9c21581..a9fa089a 100644
|
|
--- a/test/Makefile.am
|
|
+++ b/test/Makefile.am
|
|
@@ -131,6 +131,10 @@ TESTS += test-d1f48f11
|
|
endif
|
|
endif
|
|
|
|
+check_PROGRAMS += test-bz1744377
|
|
+test_bz1744377_LDADD = $(top_builddir)/src/libfontconfig.la
|
|
+TESTS += test-bz1744377
|
|
+
|
|
EXTRA_DIST=run-test.sh run-test-conf.sh $(LOG_COMPILER) $(TESTDATA) out.expected-long-family-names out.expected-no-long-family-names
|
|
|
|
CLEANFILES=out out1 out2 fonts.conf out.expected
|
|
diff --git a/test/test-bz1744377.c b/test/test-bz1744377.c
|
|
new file mode 100644
|
|
index 00000000..d7f10535
|
|
--- /dev/null
|
|
+++ b/test/test-bz1744377.c
|
|
@@ -0,0 +1,51 @@
|
|
+/*
|
|
+ * fontconfig/test/test-bz1744377.c
|
|
+ *
|
|
+ * Copyright © 2000 Keith Packard
|
|
+ *
|
|
+ * Permission to use, copy, modify, distribute, and sell this software and its
|
|
+ * documentation for any purpose is hereby granted without fee, provided that
|
|
+ * the above copyright notice appear in all copies and that both that
|
|
+ * copyright notice and this permission notice appear in supporting
|
|
+ * documentation, and that the name of the author(s) not be used in
|
|
+ * advertising or publicity pertaining to distribution of the software without
|
|
+ * specific, written prior permission. The authors make no
|
|
+ * representations about the suitability of this software for any purpose. It
|
|
+ * is provided "as is" without express or implied warranty.
|
|
+ *
|
|
+ * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
|
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
|
+ * EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
|
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
|
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
|
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
+ * PERFORMANCE OF THIS SOFTWARE.
|
|
+ */
|
|
+#include <fontconfig/fontconfig.h>
|
|
+
|
|
+int
|
|
+main (void)
|
|
+{
|
|
+ const FcChar8 *doc = ""
|
|
+ "<fontconfig>\n"
|
|
+ " <include ignore_missing=\"yes\">blahblahblah</include>\n"
|
|
+ "</fontconfig>\n"
|
|
+ "";
|
|
+ const FcChar8 *doc2 = ""
|
|
+ "<fontconfig>\n"
|
|
+ " <include ignore_missing=\"no\">blahblahblah</include>\n"
|
|
+ "</fontconfig>\n"
|
|
+ "";
|
|
+ FcConfig *cfg = FcConfigCreate ();
|
|
+
|
|
+ if (!FcConfigParseAndLoadFromMemory (cfg, doc, FcTrue))
|
|
+ return 1;
|
|
+ if (FcConfigParseAndLoadFromMemory (cfg, doc2, FcTrue))
|
|
+ return 1;
|
|
+ if (!FcConfigParseAndLoadFromMemory (cfg, doc2, FcFalse))
|
|
+ return 1;
|
|
+
|
|
+ FcConfigDestroy (cfg);
|
|
+
|
|
+ return 0;
|
|
+}
|
|
--
|
|
2.23.0
|
|
|