bash32-046   [plain text]


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

Bash-Release: 3.2
Patch-ID: bash32-046

Bug-Reported-by:	Wang Xin <wxinee@gmail.com>
Bug-Reference-ID:	<9a73e1570807062042ide16698m10e1b18036c95592@mail.gmail.com>
Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2008-07/msg00014.html

Bug-Description:

Bash did not compute the length of multibyte characters correctly when
performing array element length references (e.g., ${#var[subscript]}).

Patch:

*** /usr/src/local/bash/bash-3.2-patched/subst.c	2008-04-28 22:00:20.000000000 -0400
--- subst.c	2008-11-10 22:02:38.000000000 -0500
***************
*** 4813,4817 ****
      t = (ind == 0) ? value_cell (var) : (char *)NULL;
  
!   len = STRLEN (t);
    return (len);
  }
--- 4813,4817 ----
      t = (ind == 0) ? value_cell (var) : (char *)NULL;
  
!   len = MB_STRLEN (t);
    return (len);
  }
*** ../bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006
--- patchlevel.h	Mon Oct 16 14:22:54 2006
***************
*** 26,30 ****
     looks for to find the patch level (for the sccs version string). */
  
! #define PATCHLEVEL 45
  
  #endif /* _PATCHLEVEL_H_ */
--- 26,30 ----
     looks for to find the patch level (for the sccs version string). */
  
! #define PATCHLEVEL 46
  
  #endif /* _PATCHLEVEL_H_ */