GNU gettext - Bugs: bug #28593, [w32] msgfmt segfaults on .po...
You are not allowed to post comments on this tracker with your current authentication level.
bug #28593: [w32] msgfmt segfaults on .po files with fuzzy header
Submitter: | -*- <_74148> | ||
Submitted: | Wed 13 Jan 2010 06:45:04 PM UTC | ||
Category: | Translator tools | Severity: | 3 - Normal |
Item Group: | None | Status: | Fix Released |
Privacy: | Public | Assigned to: | haible |
Open/Closed: | Closed |
Thu 14 Jan 2010 09:55:19 AM UTC, comment #4: |
Bruno Haible <haible> |
Thu 14 Jan 2010 08:37:41 AM UTC, comment #3: H-m-m-m...It seems that trunk version of gettext uses different wording ("this->file_name" instead of "gram_pos.file_name"). I don't know yet whether that fixes the NULL issue or not, since i can't get past the autogen phase. |
-*- <_74148> |
Thu 14 Jan 2010 07:07:44 AM UTC, comment #2: Nope, i've checked (attached a watch to gram_pos after 'start'ing the program in gdb) that gram_pos members are valid during some periods of time, but at some point lexing ends and sets them both to NULL.
|
-*- <_74148> |
Thu 14 Jan 2010 12:02:21 AM UTC, comment #1: It looks like a DLL import/export problem with the variable
|
Bruno Haible <haible> |
Wed 13 Jan 2010 06:45:04 PM UTC, original submission:
$ msgfmt --version
|
-*- <_74148> |
No files currently attached
Depends on the following items: None found
Items that depend on this one: None found
There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.
Follow 6 latest changes.
Date | Changed by | Updated Field | Previous Value | => | Replaced by |
---|---|---|---|---|---|
2023-01-04 | haible | Status | Fixed | Fix Released | |
2016-11-27 | haible | Category | None | Translator tools | |
2010-01-14 | haible | Status | Works For Me | Fixed | |
2010-01-14 | haible | Status | None | Works For Me | |
Assigned to | None | haible | |||
Open/Closed | Open | Closed |
Powered by Savane 3.13-4b48.
Corresponding source code
So that should be reproducible on Unix systems. And indeed:
$ /arch/x86-linux/gnu-inst-gettext/0.17/bin/msgfmt -c --statistics -o test.gmo test.po
/arch/x86-linux/gnu-inst-gettext/0.17/bin/msgfmt: (null): warning: PO file header fuzzy
warning: older versions of msgfmt will give an error on this
test.po:3: headerfield `Project-Id-Version' missing in header
test.po:3: headerfield `PO-Revision-Date' missing in header
test.po:3: headerfield `Last-Translator' missing in header
test.po:3: headerfield `Language-Team' missing in header
test.po:3: headerfield `MIME-Version' missing in header
test.po:3: headerfield `Content-Transfer-Encoding' missing in header
Here the message contains a "(null)" marker. Indeed, this bug
exists in gettext 0.17 and was fixed in CVS/git:
http://git.savannah.gnu.org/gitweb/?p=gettext.git;a=commitdiff;h=9ae04cda9d8955105abd842aed4fbee567e80a26
The support of NULL pointer arguments was added in gnulib long
before gettext 0.17, here:
http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commitdiff;h=b680ccf8f914177c9f4fab65bead5c6b034c5d99
But this function would print "(NULL)", not "(null)". You are
right, it's not the gnulib vasnprintf function which is being
used but the old gettext substitute from gettext/gnulib-local/lib/vasprintf.c,
and this function does not support NULLs.
Time to ditch this old function. I'm applying this in the
gnulib-local/ directory:
2010-01-14 Bruno Haible <bruno@clisp.org>
Use full 'vasnprintf' module from gnulib. The reduced one did not
support NULL arguments.
Reported by LRN at <http://savannah.gnu.org/bugs/?28593>.