From http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-042

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>

			     BASH PATCH REPORT
			     =================

Bash-Release:	4.3
Patch-ID:	bash43-042

Bug-Reported-by:	Nathan Neulinger <nneul@neulinger.org>
Bug-Reference-ID:	<558EFDF2.7060402@neulinger.org>
Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2015-06/msg00096.html

Bug-Description:

There is a problem when parsing command substitutions containing `case'
commands within pipelines that causes the parser to not correctly identify
the end of the command substitution.

Patch (apply with `patch -p0'):

*** a/bash-4.3-patched/parse.y	2015-05-18 19:27:05.000000000 -0400
--- b/parse.y	2015-06-29 10:59:27.000000000 -0400
***************
*** 3709,3712 ****
--- 3709,3714 ----
  	      tflags |= LEX_INWORD;
  	      lex_wlen = 0;
+ 	      if (tflags & LEX_RESWDOK)
+ 		lex_rwlen = 0;
  	    }
  	}
*** a/bash-4.3-patched/y.tab.c	2015-05-18 19:27:05.000000000 -0400
--- b/y.tab.c	2015-06-29 10:59:27.000000000 -0400
***************
*** 6021,6024 ****
--- 6021,6026 ----
  	      tflags |= LEX_INWORD;
  	      lex_wlen = 0;
+ 	      if (tflags & LEX_RESWDOK)
+ 		lex_rwlen = 0;
  	    }
  	}
*** a/bash-4.3/patchlevel.h	2012-12-29 10:47:57.000000000 -0500
--- b/patchlevel.h	2014-03-20 20:01:28.000000000 -0400
***************
*** 26,30 ****
     looks for to find the patch level (for the sccs version string). */
  
! #define PATCHLEVEL 41
  
  #endif /* _PATCHLEVEL_H_ */
--- 26,30 ----
     looks for to find the patch level (for the sccs version string). */
  
! #define PATCHLEVEL 42
  
  #endif /* _PATCHLEVEL_H_ */
