Pete Graner 726964
			     BASH PATCH REPORT
Pete Graner 726964
			     =================
Pete Graner 726964
Pete Graner 726964
Bash-Release: 3.2
Pete Graner 726964
Patch-ID: bash32-023
Pete Graner 726964
Pete Graner 726964
Bug-Reported-by:	Chet Ramey <chet.ramey@cwru.edu>
Pete Graner 726964
Bug-Reference-ID:
Pete Graner 726964
Bug-Reference-URL:
Pete Graner 726964
Pete Graner 726964
Bug-Description:
Pete Graner 726964
Pete Graner 726964
When an error occurs during the pattern removal word expansion, the shell
Pete Graner 726964
can free unallocated memory or free memory multiple times.
Pete Graner 726964
Pete Graner 726964
Patch:
Pete Graner 726964
Pete Graner 726964
*** ../bash-3.2-patched/subst.c	Tue Apr  3 16:47:19 2007
Pete Graner 726964
--- subst.c	Tue Jul 17 09:45:11 2007
Pete Graner 726964
***************
Pete Graner 726964
*** 3975,3979 ****
Pete Graner 726964
      patstr++;
Pete Graner 726964
  
Pete Graner 726964
!   pattern = getpattern (patstr, quoted, 1);
Pete Graner 726964
  
Pete Graner 726964
    temp1 = (char *)NULL;		/* shut up gcc */
Pete Graner 726964
--- 4008,4016 ----
Pete Graner 726964
      patstr++;
Pete Graner 726964
  
Pete Graner 726964
!   /* Need to pass getpattern newly-allocated memory in case of expansion --
Pete Graner 726964
!      the expansion code will free the passed string on an error. */
Pete Graner 726964
!   temp1 = savestring (patstr);
Pete Graner 726964
!   pattern = getpattern (temp1, quoted, 1);
Pete Graner 726964
!   free (temp1);
Pete Graner 726964
  
Pete Graner 726964
    temp1 = (char *)NULL;		/* shut up gcc */
Pete Graner 726964
*** ../bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006
Pete Graner 726964
--- patchlevel.h	Mon Oct 16 14:22:54 2006
Pete Graner 726964
***************
Pete Graner 726964
*** 26,30 ****
Pete Graner 726964
     looks for to find the patch level (for the sccs version string). */
Pete Graner 726964
  
Pete Graner 726964
! #define PATCHLEVEL 22
Pete Graner 726964
  
Pete Graner 726964
  #endif /* _PATCHLEVEL_H_ */
Pete Graner 726964
--- 26,30 ----
Pete Graner 726964
     looks for to find the patch level (for the sccs version string). */
Pete Graner 726964
  
Pete Graner 726964
! #define PATCHLEVEL 23
Pete Graner 726964
  
Pete Graner 726964
  #endif /* _PATCHLEVEL_H_ */