- Status Closed
- Percent Complete
- Task Type Bugs
- Category Infrastructure → Build environment
- Assigned To No-one
- Operating System All players
- Severity Low
- Priority Very Low
- Reported Version
- Due in Version Undecided
-
Due Date
Undecided
- Votes
- Private
FS#4955 - convbdf segfaults on very large fonts
When running convbdf on large files, it segfaults. By littering the source with printfs, I’ve narrowed it down to that the segfault happens in writestr(), and it’s being called from line 1071 (writestr(ofp, (char *)bytemap, size);), whatever that means.
The following is an example of a file that causes convbdf to segfault: http://webcvs.freedesktop.org/*checkout*/xorg/xc/fonts/bdf/100dpi/UTB___24.bdf
Closed by bagder
2007-07-31 09:43
Reason for closing: Fixed
Additional comments about closing: Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407
2007-07-31 09:43
Reason for closing: Fixed
Additional comments about closing: Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407
Fixed in SVN right now
Loading...
Available keyboard shortcuts
- Alt + ⇧ Shift + l Login Dialog / Logout
- Alt + ⇧ Shift + a Add new task
- Alt + ⇧ Shift + m My searches
- Alt + ⇧ Shift + t focus taskid search
Tasklist
- o open selected task
- j move cursor down
- k move cursor up
Task Details
- n Next task
- p Previous task
- Alt + ⇧ Shift + e ↵ Enter Edit this task
- Alt + ⇧ Shift + w watch task
- Alt + ⇧ Shift + y Close Task
Task Editing
- Alt + ⇧ Shift + s save task
Works fine here. Are you using the latest version of convbdf?
I also have this problem with current convbdf on Debian unstable (gcc 4.0.3). The resulting file is about a third of the one you’ve attached.
Ah, I just noticed something curious. The file is 65536 bytes large, I’m guessing that might mean something?
maybe it has something to do with gcc 4.0? I am using gcc 3.3.5.
Bingo! Just tried compiling convbdf with gcc 3.3.6 and there was no problem. No idea what to do about it though, but at least there’s a workaround.
Hrm, I still get segfaults on some files even when using gcc 3.3 - no longer on that particular file though.
This one still causes a segfault, even with gcc 3.3.6:
http://webcvs.freedesktop.org/*checkout*/xorg/xc/fonts/bdf/100dpi/luIS24.bdf
And again the file ends up being 65536 bytes. I can’t help but assume that this means something.
This fixes at least the problem with lulS24.bdf. I didn’t yet check why.
Index: convbdf.c
RCS file: /cvsroot/rockbox/tools/convbdf.c,v
retrieving revision 1.20
diff -u -p -r1.20 convbdf.c
— convbdf.c 18 Apr 2006 17:24:14 -0000 1.20
+++ convbdf.c 18 Sep 2006 22:52:12 -0000
@@ -1048,7 +1048,7 @@ int gen_fnt_file(struct font* pf, char *
- unsigned char bytemap[256];
+ unsigned char bytemap[512];