BASH PATCH REPORT =================
Bash-Release: 4.0 Patch-ID: bash40-022 Bug-Reported-by: Bernd Eggink <mono...@sudrala.de> Bug-Reference-ID: <49e65407.5010...@sudrala.de> Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2009-04/msg00118.html Bug-Description: When parsing case statements in command substitutions, the shell did not note that a newline is a shell metacharacter and can legally be followed by a reserved word (e.g., `esac'). Patch: *** ../bash-4.0-patched/parse.y 2009-03-08 21:24:47.000000000 -0400 --- parse.y 2009-04-15 22:27:56.000000000 -0400 *************** *** 3355,3359 **** /* Meta-characters that can introduce a reserved word. Not perfect yet. */ ! if MBTEST((tflags & LEX_RESWDOK) == 0 && (tflags & LEX_CKCASE) && (tflags & LEX_INCOMMENT) == 0 && shellmeta(ch)) { /* Add this character. */ --- 3375,3379 ---- /* Meta-characters that can introduce a reserved word. Not perfect yet. */ ! if MBTEST((tflags & LEX_RESWDOK) == 0 && (tflags & LEX_CKCASE) && (tflags & LEX_INCOMMENT) == 0 && (shellmeta(ch) || ch == '\n')) { /* Add this character. */ *** ../bash-4.0/patchlevel.h 2009-01-04 14:32:40.000000000 -0500 --- patchlevel.h 2009-02-22 16:11:31.000000000 -0500 *************** *** 26,30 **** looks for to find the patch level (for the sccs version string). */ ! #define PATCHLEVEL 21 #endif /* _PATCHLEVEL_H_ */ --- 26,30 ---- looks for to find the patch level (for the sccs version string). */ ! #define PATCHLEVEL 22 #endif /* _PATCHLEVEL_H_ */ -- ``The lyf so short, the craft so long to lerne.'' - Chaucer Chet Ramey, ITS, CWRU c...@case.edu http://cnswww.cns.cwru.edu/~chet/