Bug 60

Summary: fc-cache crashes with ghostscript fonts
Product: fontconfig Reporter: Gustavo J. A. M. Carneiro <gjc>
Component: fc-cacheAssignee: Keith Packard <keithp>
Status: RESOLVED FIXED QA Contact:
Severity: critical    
Priority: high    
Version: 2_1   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Gustavo J. A. M. Carneiro 2003-04-15 09:36:12 UTC
I'm running stock slackaware 9, and I added the ghostscript fonts to
fontconfig. After installing fontconfig version 2.1.93, when I run, as root,
fc-cache -vf, I get a segfault.  gdb backtace is:

#0  0x40136fce in strcasecmp () from /lib/libc.so.6
(gdb) up
#1  0x400242a7 in FcFreeTypeQuery (
    file=0x804b9a0 "/usr/share/fonts/ghostscript/hrgrr.pfa", id=0,
    blanks=0x8050088, count=0x0) at fcfreetype.c:577
577             if (strcasecmp("thin", psfontinfo.weight) == 0)
(gdb) p psfontinfo
$1 = {version = 0x0,
  notice = 0x805db88 "A Freeware character set extension of the Public Domain
Hershey fonts - not to be sold - diacritics added by Thomas Wolff",
  full_name = 0x0, family_name = 0x0, weight = 0x0, italic_angle = 0,
  is_fixed_pitch = 0 '\0', underline_position = -120, underline_thickness = 15}


(gdb) backtrace
#0  0x40136fce in strcasecmp () from /lib/libc.so.6
#1  0x400242a7 in FcFreeTypeQuery (
    file=0x804b9a0 "/usr/share/fonts/ghostscript/hrgrr.pfa", id=0,
    blanks=0x8050088, count=0x0) at fcfreetype.c:577
#2  0x4002393b in FcFileScan (set=0x804eae0, dirs=0x8050340, cache=0x0,
    blanks=0x8050088, file=0x804b9a0 "/usr/share/fonts/ghostscript/hrgrr.pfa",
    force=1) at fcdir.c:113
#3  0x40023c60 in FcDirScan (set=0x804eae0, dirs=0x8050340, cache=0x0,
    blanks=0x8050088, dir=0x804f930 "/usr/share/fonts/ghostscript", force=1)
    at fcdir.c:221
#4  0x08048cf4 in scanDirs (list=0x804e168, config=0x804a788,
    program=0xbffffb32 "fc-cache", force=1, verbose=1) at fc-cache.c:166
#5  0x08048d52 in scanDirs (list=0x804e508, config=0x804a788,
    program=0xbffffb32 "fc-cache", force=1, verbose=1) at fc-cache.c:197
#6  0x0804900b in main (argc=134538504, argv=0xbffffa24) at fc-cache.c:278
#7  0x400d0bb4 in __libc_start_main () from /lib/libc.so.6
Comment 1 Keith Packard 2003-04-15 10:31:56 UTC
Yeah, wasn't checking psfontinfo.weight for NULL.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.