[vdr] vdr-1.5.10, segfault on startup

Mario Ivankovits mario at ops.co.at
Sat Nov 3 15:40:00 CET 2007


Hi!

Due to some weird "Sans Serif:Bold" bold font on my freshly installed 
open-suse 10.3 system I get a "segmentation fault" on startup.
I had this already with one of the previous vdr versions and on my suse 
10 linux, I just thought there must be something messed up on my rather 
old system.

Now, that I still got this exception I tried to track it down using gdb:
I've come to cFont::GetFontFilename where FcFontSort returns "null".

I simple check (if fontset != null) fixed the segfault:

     FcFontSet *fontset = FcFontSort(NULL, pat, FcFalse, NULL, NULL);
if (fontset != NULL)
{
     for (int i = 0; i < fontset->nfont; i++) {
         FcBool scalable;
         FcPatternGetBool(fontset->fonts[i], FC_SCALABLE, 0, &scalable);
         if (scalable) {
            FcChar8 *s = NULL;
            FcPatternGetString(fontset->fonts[i], FC_FILE, 0, &s);
            FontFileName = (char *)s;
            break;
            }
         }
     FcFontSetDestroy(fontset);
}

VDR then started, just without any text output.
After installing some additional fonts this has been fixed too ...

I think the NPE check would be great to be added to VDR.
Thanks!

Ciao,
Mario




More information about the vdr mailing list