BASH PATCH REPORT ================= Bash-Release: 4.2 Patch-ID: bash42-024 Bug-Reported-by: Jim Avera Bug-Reference-ID: <4F29E07A.80405@yahoo.com> Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-02/msg00001.html Bug-Description: When `printf -v' is used to set an array element, the format string contains `%b', and the corresponding argument is the empty string, the buffer used to store the value to be assigned can be NULL, which results in NUL being assigned to the array element. This causes a seg fault when it's used later. Patch (apply with `patch -p0'): --- a/builtins/printf.def +++ b/builtins/printf.def @@ -255,6 +255,8 @@ printf_builtin (list) #endif { vflag = 1; + if (vbsize == 0) + vbuf = xmalloc (vbsize = 16); vblen = 0; if (vbuf) vbuf[0] = 0; --- a/patchlevel.h +++ b/patchlevel.h @@ -25,6 +25,6 @@ regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh looks for to find the patch level (for the sccs version string). */ -#define PATCHLEVEL 23 +#define PATCHLEVEL 24 #endif /* _PATCHLEVEL_H_ */