[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#917034: xterm crashes on certain Unicode characters when font was selected with -fa



On Tue, Jan 01, 2019 at 06:59:59PM -0500, Thomas Dickey wrote:
> On Tue, Jan 01, 2019 at 12:28:38PM -0500, Thomas Dickey wrote:
> > On Mon, Dec 31, 2018 at 02:32:58PM -0500, Thomas Dickey wrote:
> > > On Mon, Dec 31, 2018 at 06:11:23PM +0100, Alexander Meyer wrote:
> > > > * Thomas Dickey <dickey@his.com> [2018-12-31 00:51]:
> > > > 
> > > > > On Sun, Dec 30, 2018 at 06:26:44PM +0100, Alexander Meyer wrote:
> > > > > ...
> > > > >> This is the behaviour I get across xterm versions:
> > > > >> (everything with libfontconfig1 2.13.1-2)
> > > > >> 
> > > > >> fonts.conf enabled:
> > > > >> 337: works
> > > > >> 338: segfault
> > > > >> 340: segfault
> > > > >> 341: segfault
> > > > > 
> > > > > Can you make a backtrace for #341, please?
> > > > 
> > > > Here it is:
> > > 
> > > thanks.  I added some notes, but have not been able to reproduce the problem.
> > 
> > Looking at this again, I saw (using XFT_DEBUG=3 and the -report-fonts option)
> > that the fallback was using unifont.  Removing that got it to break (I'll
> > see whether the bug lies in Xft or fontconfig, at least).
> 
> The latter.   Here's a fix for fontconfig that eliminates this particular crash.
...
I verified that the same issue exists in current code, and submitted an

	https://gitlab.freedesktop.org/fontconfig/fontconfig/issues/140

with the attached fix.

-- 
Thomas E. Dickey <dickey@invisible-island.net>
https://invisible-island.net
ftp://ftp.invisible-island.net
diff --git a/src/fccfg.c b/src/fccfg.c
index a87dfec..5c275c4 100644
--- a/src/fccfg.c
+++ b/src/fccfg.c
@@ -978,7 +978,7 @@ FcConfigEvaluate (FcPattern *p, FcPattern *p_pat, FcMatchKind kind, FcExpr *e)
     FcValue	v, vl, vr, vle, vre;
     FcMatrix	*m;
     FcChar8     *str;
-    FcOp	op = FC_OP_GET_OP (e->op);
+    FcOp	op = e ? FC_OP_GET_OP (e->op) : FcOpNil;
     FcValuePromotionBuffer buf1, buf2;
 
     switch ((int) op) {

Attachment: signature.asc
Description: Digital signature


Reply to: