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=a0496f2a324727997fb35a40e6177d6c82bc6d2a The branch, branch-1.4 has been updated via a0496f2a324727997fb35a40e6177d6c82bc6d2a (commit) from 100007945eb513e9f2a4baa436ce5cbca51334b2 (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 a0496f2a324727997fb35a40e6177d6c82bc6d2a Author: Eric Blake <[email protected]> Date: Sat Jul 21 13:16:52 2012 -0600 bootstrap: avoid undefined variables EXIT_SUCCESS, EXIT_FAILURE, and exit_cmd were used uninitialized, with potentially disastrous results depending on what was inherited in from the calling environment. * bootstrap (func_fatal_error, func_usage, func_help) (func_version): Use constants, not undefined variables; propagate any write failures. (func_missing_arg): Drop duplicate declaration. Preinitialize exit_cmd. Reported by Stefano Lattarini. ----------------------------------------------------------------------- Summary of changes: ChangeLog | 10 ++++++++++ bootstrap | 24 +++++++++--------------- 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8b186c8..631798d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2012-07-21 Eric Blake <[email protected]> + + bootstrap: avoid undefined variables + * bootstrap (func_fatal_error, func_usage, func_help) + (func_version): Use constants, not undefined variables; propagate + any write failures. + (func_missing_arg): Drop duplicate declaration. Preinitialize + exit_cmd. + Reported by Stefano Lattarini. + 2012-06-26 Eric Blake <[email protected]> build: get missing from automake, not gnulib diff --git a/bootstrap b/bootstrap index b5d740c..b554a57 100755 --- a/bootstrap +++ b/bootstrap @@ -1,6 +1,6 @@ #! /bin/sh -# bootstrap (GNU M4) version 2010-03-02 +# bootstrap (GNU M4) version 2012-07-21 # Written by Gary V. Vaughan <[email protected]> # Copyright (C) 2004-2012 Free Software Foundation, Inc. @@ -92,7 +92,7 @@ func_error () func_fatal_error () { func_error ${1+"$@"} - exit $EXIT_FAILURE + exit 1 } # func_verbose arg... @@ -120,15 +120,6 @@ func_fatal_help () func_fatal_error "Try \`$progname --help' for more information." } -# func_missing_arg argname -# Echo program name prefixed message to standard error and set global -# exit_cmd. -func_missing_arg () -{ - func_error "missing argument for $1" - exit_cmd=exit -} - # func_usage # Echo short help message to standard output and exit. func_usage () @@ -140,7 +131,7 @@ func_usage () }; d' < "$progpath" echo echo "run \`$progname --help | more' for full usage" - exit $EXIT_SUCCESS + exit } # func_help @@ -152,7 +143,7 @@ func_help () s/\$progname/'$progname'/; p; }; d' < "$progpath" - exit $EXIT_SUCCESS + exit } # func_version @@ -164,7 +155,7 @@ func_version () s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/; p; }; d' < "$progpath" - exit $EXIT_SUCCESS + exit } # func_update @@ -182,6 +173,9 @@ func_update () # Parse options once, thoroughly. This comes as soon as possible in # the script to make things like `bootstrap --version' happen quickly. { + # Detect as many errors as possible before quitting + exit_cmd=: + # sed scripts: my_sed_single_opt='1s/^\(..\).*$/\1/;q' my_sed_single_rest='1s/^..\(.*\)$/\1/;q' @@ -207,7 +201,7 @@ func_update () done # Bail if the options were screwed - $exit_cmd $EXIT_FAILURE + $exit_cmd 1 if test -n "$vcs_only_file" && test ! -r "$vcs_only_file"; then func_fatal_error \ hooks/post-receive -- GNU M4 source repository
