BASH PATCH REPORT ================= Bash-Release: 3.2 Patch-ID: bash32-046 Bug-Reported-by: Wang Xin 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_ */