This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GNU M4 source repository".
http://git.sv.gnu.org/gitweb/?p=m4.git;a=commitdiff;h=edf2d2a2af08b0d4af530150c1c7b504c803a637 The branch, branch-1.4 has been updated via edf2d2a2af08b0d4af530150c1c7b504c803a637 (commit) via 5d1faf478e162ad64075cfdc51ffca697ec7f599 (commit) via a4d4f850ac5c09b9b5d9627ba748321af3429e68 (commit) from 76d1c49b8056aaf3f1046ba19c6dea6eb6aecb78 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit edf2d2a2af08b0d4af530150c1c7b504c803a637 Author: Eric Blake <[email protected]> Date: Mon Aug 30 12:08:47 2010 -0600 Test previous commit. * doc/m4.texinfo (Format): Add a test. * NEWS: Document the fix. * THANKS: Update. Signed-off-by: Eric Blake <[email protected]> commit 5d1faf478e162ad64075cfdc51ffca697ec7f599 Author: Carlo Teubner <[email protected]> Date: Sat Aug 28 16:19:16 2010 -0600 Avoid a crash with bad format string. * src/format.c (expand_format): Fix off-by-one error. Signed-off-by: Eric Blake <[email protected]> commit a4d4f850ac5c09b9b5d9627ba748321af3429e68 Author: Eric Blake <[email protected]> Date: Fri Jul 30 08:25:14 2010 -0600 Document recent bug fixes. * NEWS: Add some entries. * gnulib: Update to latest, for more AIX fixes. Signed-off-by: Eric Blake <[email protected]> ----------------------------------------------------------------------- Summary of changes: ChangeLog | 18 ++++++++++++++++++ NEWS | 9 ++++++++- THANKS | 1 + doc/m4.texinfo | 12 ++++++++++++ gnulib | 2 +- src/format.c | 2 +- 6 files changed, 41 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 709b8c0..ec3852a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,21 @@ +2010-08-30 Eric Blake <[email protected]> + + Test previous commit. + * doc/m4.texinfo (Format): Add a test. + * NEWS: Document the fix. + * THANKS: Update. + +2010-08-30 Carlo Teubner <[email protected]> (tiny change) + + Avoid a crash with bad format string. + * src/format.c (expand_format): Fix off-by-one error. + +2010-08-30 Eric Blake <[email protected]> + + Document recent bug fixes. + * NEWS: Add some entries. + * gnulib: Update to latest, for more AIX fixes. + 2010-07-30 Eric Blake <[email protected]> Update to newer gnulib. diff --git a/NEWS b/NEWS index 4ebcb1e..886ab31 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,13 @@ GNU M4 NEWS - User visible changes. -* Noteworthy changes in release ?.? (????-??-??) [?] +* Noteworthy changes in release 1.4.15 (2010-08-??) [stable] + +** Fix regression introduced in 1.4.9b where the format builtin could + crash on an invalid format string. + +** Fix compilation against newer glibc, and on AIX 7.1BETA. + +** A number of portability improvements inherited from gnulib. * Noteworthy changes in Version 1.4.14 (2010-02-24) [stable] diff --git a/THANKS b/THANKS index 5fed251..b0f0c19 100644 --- a/THANKS +++ b/THANKS @@ -24,6 +24,7 @@ Bob Badour [email protected] Bob Proulx [email protected] Brendan Kehoe [email protected] Bruno Haible [email protected] +Carlo Teubner [email protected] Cesar Strauss [email protected] Chris McGuire [email protected] Chris Penev [email protected] diff --git a/doc/m4.texinfo b/doc/m4.texinfo index 062ecb2..bea0120 100644 --- a/doc/m4.texinfo +++ b/doc/m4.texinfo @@ -6097,6 +6097,18 @@ format(`%p', `0') @result{} @end example +...@ignore +...@comment Expose a crash with a bad format string fixed in 1.4.15. +...@comment Unfortuntely, 8-bit bytes are hard to check for; but the +...@comment exit status is enough to sniff the crash in broken versions. + +...@comment xerr: ignore +...@example +format(`%'format(`%c', `128')) +...@result{} +...@end example +...@end ignore + @node Arithmetic @chapter Macros for doing arithmetic diff --git a/gnulib b/gnulib index 710aad9..3e38c27 160000 --- a/gnulib +++ b/gnulib @@ -1 +1 @@ -Subproject commit 710aad94fa0056e27daee30d23130fd9c9339b71 +Subproject commit 3e38c274dbac15d2288577a4b9da6e2f4a83ab5b diff --git a/src/format.c b/src/format.c index 9cf282a..77c7c07 100644 --- a/src/format.c +++ b/src/format.c @@ -302,7 +302,7 @@ expand_format (struct obstack *obs, int argc, token_data **argv) } c = *fmt++; - if (c > sizeof ok || !ok[c]) + if (sizeof ok <= c || !ok[c]) { M4ERROR ((warning_status, 0, "Warning: unrecognized specifier in `%s'", f)); hooks/post-receive -- GNU M4 source repository
