e5fbd81a61
git-svn-id: svn://svn.openwrt.org/openwrt/packages@31746 3c298f89-4303-0410-b956-a3cf2f4a3e73
41 lines
1.1 KiB
Diff
41 lines
1.1 KiB
Diff
BASH PATCH REPORT
|
|
=================
|
|
|
|
Bash-Release: 4.2
|
|
Patch-ID: bash42-024
|
|
|
|
Bug-Reported-by: Jim Avera <james_avera@yahoo.com>
|
|
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_ */
|