Ondrej Oprala b71d9d
			     BASH PATCH REPORT
Ondrej Oprala b71d9d
			     =================
Ondrej Oprala b71d9d
Ondrej Oprala b71d9d
Bash-Release:	4.2
Ondrej Oprala b71d9d
Patch-ID:	bash42-052
Ondrej Oprala b71d9d
Ondrej Oprala b71d9d
Bug-Reported-by:	Michal Zalewski <lcamtuf@coredump.cx>
Ondrej Oprala b71d9d
Bug-Reference-ID:
Ondrej Oprala b71d9d
Bug-Reference-URL:
Ondrej Oprala b71d9d
Ondrej Oprala b71d9d
Bug-Description:
Ondrej Oprala b71d9d
Ondrej Oprala b71d9d
When bash is parsing a function definition that contains a here-document
Ondrej Oprala b71d9d
delimited by end-of-file (or end-of-string), it leaves the closing delimiter
Ondrej Oprala b71d9d
uninitialized.  This can result in an invalid memory access when the parsed
Ondrej Oprala b71d9d
function is later copied.
Ondrej Oprala b71d9d
Ondrej Oprala b71d9d
Patch (apply with `patch -p0'):
Ondrej Oprala b71d9d
Ondrej Oprala b71d9d
*** ../bash-4.2.51/make_cmd.c	2009-09-11 17:26:12.000000000 -0400
Ondrej Oprala b71d9d
--- make_cmd.c	2014-10-02 11:26:58.000000000 -0400
Ondrej Oprala b71d9d
***************
Ondrej Oprala b71d9d
*** 690,693 ****
Ondrej Oprala b71d9d
--- 690,694 ----
Ondrej Oprala b71d9d
    temp->redirector = source;
Ondrej Oprala b71d9d
    temp->redirectee = dest_and_filename;
Ondrej Oprala b71d9d
+   temp->here_doc_eof = 0;
Ondrej Oprala b71d9d
    temp->instruction = instruction;
Ondrej Oprala b71d9d
    temp->flags = 0;
Ondrej Oprala b71d9d
*** ../bash-4.2.51/copy_cmd.c	2009-09-11 16:28:02.000000000 -0400
Ondrej Oprala b71d9d
--- copy_cmd.c	2014-10-02 11:26:58.000000000 -0400
Ondrej Oprala b71d9d
***************
Ondrej Oprala b71d9d
*** 127,131 ****
Ondrej Oprala b71d9d
      case r_reading_until:
Ondrej Oprala b71d9d
      case r_deblank_reading_until:
Ondrej Oprala b71d9d
!       new_redirect->here_doc_eof = savestring (redirect->here_doc_eof);
Ondrej Oprala b71d9d
        /*FALLTHROUGH*/
Ondrej Oprala b71d9d
      case r_reading_string:
Ondrej Oprala b71d9d
--- 127,131 ----
Ondrej Oprala b71d9d
      case r_reading_until:
Ondrej Oprala b71d9d
      case r_deblank_reading_until:
Ondrej Oprala b71d9d
!       new_redirect->here_doc_eof = redirect->here_doc_eof ? savestring (redirect->here_doc_eof) : 0;
Ondrej Oprala b71d9d
        /*FALLTHROUGH*/
Ondrej Oprala b71d9d
      case r_reading_string:
Ondrej Oprala b71d9d
*** ../bash-4.2-patched/patchlevel.h	Sat Jun 12 20:14:48 2010
Ondrej Oprala b71d9d
--- patchlevel.h	Thu Feb 24 21:41:34 2011
Ondrej Oprala b71d9d
***************
Ondrej Oprala b71d9d
*** 26,30 ****
Ondrej Oprala b71d9d
     looks for to find the patch level (for the sccs version string). */
Ondrej Oprala b71d9d
  
Ondrej Oprala b71d9d
! #define PATCHLEVEL 49
Ondrej Oprala b71d9d
  
Ondrej Oprala b71d9d
  #endif /* _PATCHLEVEL_H_ */
Ondrej Oprala b71d9d
--- 26,30 ----
Ondrej Oprala b71d9d
     looks for to find the patch level (for the sccs version string). */
Ondrej Oprala b71d9d
  
Ondrej Oprala b71d9d
! #define PATCHLEVEL 52
Ondrej Oprala b71d9d
  
Ondrej Oprala b71d9d
  #endif /* _PATCHLEVEL_H_ */