Re: FcFontList() can return NULL - should it? should it be documented?

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

 



On 08/24/16 11:48 PM, Alan Coopersmith wrote:
On 08/24/16 11:27 PM, Akira TAGOH wrote:
Can you investigate more where the checking failed and then return NULL in
fontconfig? and what version of fontconfig are you using?

It was reported when we were shipping 2.11.94 - we upgraded to 2.12.1 earlier
this month, and I don't know if it affects that version.

Now that we know this isn't expected, I'll try to find time soon to dig deeper
to see where the failure bubbles up from, since I see several possible paths
in the code that can return NULL if other functions do.

Okay, I spent some time on this tonight in a fresh VM.

I could reproduce with our previous 2.11.94 packages, but not 2.12.1.

I built debuggable binaries and stepped through in the debugger - 2.12.1
returned a valid pointer from FcFontList, but with 2.11.94 FcFontList instead
returned NULL, because FcConfigAddDirList did not find any caches and thus
never set ret = FcTrue in it's while loop, which then bubbled up the stack
as a failure through:

=>[1] FcConfigAddDirList(config = 0x505740, set = FcSetSystem, dirSet = 0x502ff0), line 389 in "fccfg.c"
  [2] FcConfigBuildFonts(config = 0x505740), line 415 in "fccfg.c"
  [3] FcInitLoadOwnConfigAndFonts(config = 0x505740), line 163 in "fcinit.c"
  [4] FcInitLoadConfigAndFonts(), line 174 in "fcinit.c"
  [5] FcConfigEnsure(), line 46 in "fccfg.c"
  [6] FcConfigGetCurrent(), line 450 in "fccfg.c"
  [7] FcInitBringUptoDate(), line 223 in "fcinit.c"
[8] FcFontList(config = (nil), p = 0x502f30, os = 0x504740), line 593 in "fclist.c"
  [9] main(argc = 1, argv = 0xffff80ffbffff838), line 162 in "fc-list.c"

So I think I've just rediscovered why your fix was necessary in:
https://cgit.freedesktop.org/fontconfig/commit/?id=33fd436a3ec63ca58f3cb51bd4ab7b33e90d89c8
and can be glad the upgrade I already did to 2.12.1 solved it - thanks.

--
	-Alan Coopersmith-              alan.coopersmith@xxxxxxxxxx
	 Oracle Solaris Engineering - http://blogs.oracle.com/alanc
_______________________________________________
Fontconfig mailing list
Fontconfig@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/fontconfig




[Index of Archives]     [Fedora Fonts]     [Fedora Users]     [Fedora Cloud]     [Kernel]     [Fedora Packaging]     [Fedora Desktop]     [PAM]     [Gimp Graphics Editor]     [Yosemite News]

  Powered by Linux