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