#! /bin/sh -e if [ $# -eq 3 -a "$2" = '-d' ]; then pdir="-d $3" elif [ $# -ne 1 ]; then echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" exit 1 fi case "$1" in -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;; -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;; *) echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" exit 1 esac exit 0 # DP: bash-3.2 upstream patch bash32-001 BASH PATCH REPORT ================= Bash-Release: 3.2 Patch-ID: bash32-001 Bug-Reported-by: Greg Schafer Bug-Reference-ID: <20061012084940.GA15768@tigers.local> Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-10/msg00046.html Bug-Description: When using historical ``-style command substitution, bash incorrectly attempts to interpret shell comments while scanning for the closing backquote. Patch: *** ../bash-3.2/parse.y Tue Sep 19 16:37:21 2006 --- parse.y Thu Oct 12 10:30:57 2006 *************** *** 2736,2740 **** count = 1; pass_next_character = backq_backslash = was_dollar = in_comment = 0; ! check_comment = (flags & P_COMMAND) && qc != '\'' && qc != '"' && (flags & P_DQUOTE) == 0; /* RFLAGS is the set of flags we want to pass to recursive calls. */ --- 2736,2740 ---- count = 1; pass_next_character = backq_backslash = was_dollar = in_comment = 0; ! check_comment = (flags & P_COMMAND) && qc != '`' && qc != '\'' && qc != '"' && (flags & P_DQUOTE) == 0; /* RFLAGS is the set of flags we want to pass to recursive calls. */ *** ../bash-3.2/patchlevel.h Thu Apr 13 08:31:04 2006 --- patchlevel.h Mon Oct 16 14:22:54 2006 *************** *** 26,30 **** looks for to find the patch level (for the sccs version string). */ ! #define PATCHLEVEL 0 #endif /* _PATCHLEVEL_H_ */ --- 26,30 ---- looks for to find the patch level (for the sccs version string). */ ! #define PATCHLEVEL 1 #endif /* _PATCHLEVEL_H_ */