http://bugzilla.novell.com/show_bug.cgi?id=529815 Summary: mkfontscale patch causes segfaults Classification: openSUSE Product: openSUSE 11.2 Version: Factory Platform: Other OS/Version: Other Status: NEW Severity: Normal Priority: P5 - None Component: X.Org AssignedTo: bnc-team-xorg-bugs@forge.provo.novell.com ReportedBy: tony@daylessday.org QAContact: xorg-maintainer-bugs@forge.provo.novell.com Found By: --- User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.2) Gecko/20090730 SUSE/3.5.2-1.2 Firefox/3.5.2 openSuSE build of X.org's mkfontscale uses a custom patch "mkfontscale-skip_symlinks.diff" in order to skip symlinks. The patch is totally buggy, as it doesn't check for NULLs, which might be returned by strrchr() and canonicalize_file_name(). Not suprising, it does cause segfaults with the following backtrace: Program received signal SIGSEGV, Segmentation fault. 0xb7e42c73 in strrchr () from /lib/libc.so.6 (gdb) bt #0 0xb7e42c73 in strrchr () from /lib/libc.so.6 #1 0x0804b872 in doDirectory (dirname_given=<value optimized out>, numEncodings=<value optimized out>, encodingsToDo=<value optimized out>) at mkfontscale.c:856 #2 0x0804c765 in main (argc=2, argv=0xbffff5a4) at mkfontscale.c:267 (gdb) f 2 #2 0x0804c765 in main (argc=2, argv=0xbffff5a4) at mkfontscale.c:267 267 doDirectory(argv[argn], ll, encodingsToDo); (gdb) f 1 #1 0x0804b872 in doDirectory (dirname_given=<value optimized out>, numEncodings=<value optimized out>, encodingsToDo=<value optimized out>) at mkfontscale.c:856 856 base_strlen = strlen (strrchr (canon_fname, '/')); (gdb) p filename $1 = 0x805e450 "/usr/share/fonts/truetype/It_wasn't_me.ttf" File "/usr/share/fonts/truetype/It_wasn't_me.ttf" is a symlink and it points to a non-existent file (no idea why - I just installed free-ttf-fonts package and uninstalled it immediately). Reproducible: Always Steps to Reproduce: 1. Install free-ttf-fonts RPM. 2. Uninstall it. 3. Run `/usr/bin/mkfontscale /usr/share/fonts/truetype > /dev/null` -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.