summaryrefslogtreecommitdiff
path: root/patches/source/bash/bash-4.3-patches/bash43-040
blob: 978ce1cd57a3039052ceea1c62a567a4ace3d115 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
			     BASH PATCH REPORT
			     =================

Bash-Release:	4.3
Patch-ID:	bash43-040

Bug-Reported-by:	Jean Delvare <jdelvare@suse.de>
Bug-Reference-ID:	<20150609180231.5f463695@endymion.delvare>
Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2015-06/msg00033.html

Bug-Description:

There is a memory leak that occurs when bash expands an array reference on
the rhs of an assignment statement.

Patch (apply with `patch -p0'):

*** ../bash-4.3-patched/subst.c	2014-10-01 12:57:47.000000000 -0400
--- subst.c	2015-06-22 09:16:53.000000000 -0400
***************
*** 5783,5787 ****
        if (pflags & PF_ASSIGNRHS)
          {
!           temp = array_variable_name (name, &tt, (int *)0);
            if (ALL_ELEMENT_SUB (tt[0]) && tt[1] == ']')
  	    temp = array_value (name, quoted|Q_DOUBLE_QUOTES, 0, &atype, &ind);
--- 5783,5787 ----
        if (pflags & PF_ASSIGNRHS)
          {
!           var = array_variable_part (name, &tt, (int *)0);
            if (ALL_ELEMENT_SUB (tt[0]) && tt[1] == ']')
  	    temp = array_value (name, quoted|Q_DOUBLE_QUOTES, 0, &atype, &ind);
*** ../bash-4.3/patchlevel.h	2012-12-29 10:47:57.000000000 -0500
--- patchlevel.h	2014-03-20 20:01:28.000000000 -0400
***************
*** 26,30 ****
     looks for to find the patch level (for the sccs version string). */
  
! #define PATCHLEVEL 39
  
  #endif /* _PATCHLEVEL_H_ */
--- 26,30 ----
     looks for to find the patch level (for the sccs version string). */
  
! #define PATCHLEVEL 40
  
  #endif /* _PATCHLEVEL_H_ */