Roman Rakus cdbb6d
			     BASH PATCH REPORT
Roman Rakus cdbb6d
			     =================
Roman Rakus cdbb6d
Roman Rakus cdbb6d
Bash-Release:	4.2
Roman Rakus cdbb6d
Patch-ID:	bash42-024
Roman Rakus cdbb6d
Roman Rakus cdbb6d
Bug-Reported-by:	Jim Avera <james_avera@yahoo.com>
Roman Rakus cdbb6d
Bug-Reference-ID:	<4F29E07A.80405@yahoo.com>
Roman Rakus cdbb6d
Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2012-02/msg00001.html
Roman Rakus cdbb6d
Roman Rakus cdbb6d
Bug-Description:
Roman Rakus cdbb6d
Roman Rakus cdbb6d
When `printf -v' is used to set an array element, the format string contains
Roman Rakus cdbb6d
`%b', and the corresponding argument is the empty string, the buffer used
Roman Rakus cdbb6d
to store the value to be assigned can be NULL, which results in NUL being
Roman Rakus cdbb6d
assigned to the array element.  This causes a seg fault when it's used later.
Roman Rakus cdbb6d
Roman Rakus cdbb6d
Patch (apply with `patch -p0'):
Roman Rakus cdbb6d
Roman Rakus cdbb6d
*** ../bash-4.2-patched/builtins/printf.def	2011-02-25 12:07:41.000000000 -0500
Roman Rakus cdbb6d
--- builtins/printf.def	2012-02-02 08:37:12.000000000 -0500
Roman Rakus cdbb6d
***************
Roman Rakus cdbb6d
*** 256,259 ****
Roman Rakus cdbb6d
--- 257,262 ----
Roman Rakus cdbb6d
  	    {
Roman Rakus cdbb6d
  	      vflag = 1;
Roman Rakus cdbb6d
+ 	      if (vbsize == 0)
Roman Rakus cdbb6d
+ 		vbuf = xmalloc (vbsize = 16);
Roman Rakus cdbb6d
  	      vblen = 0;
Roman Rakus cdbb6d
  	      if (vbuf)
Roman Rakus cdbb6d
*** ../bash-4.2-patched/patchlevel.h	Sat Jun 12 20:14:48 2010
Roman Rakus cdbb6d
--- patchlevel.h	Thu Feb 24 21:41:34 2011
Roman Rakus cdbb6d
***************
Roman Rakus cdbb6d
*** 26,30 ****
Roman Rakus cdbb6d
     looks for to find the patch level (for the sccs version string). */
Roman Rakus cdbb6d
  
Roman Rakus cdbb6d
! #define PATCHLEVEL 23
Roman Rakus cdbb6d
  
Roman Rakus cdbb6d
  #endif /* _PATCHLEVEL_H_ */
Roman Rakus cdbb6d
--- 26,30 ----
Roman Rakus cdbb6d
     looks for to find the patch level (for the sccs version string). */
Roman Rakus cdbb6d
  
Roman Rakus cdbb6d
! #define PATCHLEVEL 24
Roman Rakus cdbb6d
  
Roman Rakus cdbb6d
  #endif /* _PATCHLEVEL_H_ */