Norm Jacobs
2011-03-01 2c011140781755b1cc90c52ac187564ac1593c2d
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
48
49
                 BASH PATCH REPORT
                 =================
 
Bash-Release:    4.1
Patch-ID:    bash41-008
 
Bug-Reported-by:    Dennis van Dok <dvandok@gmail.com>
Bug-Reference-ID:    <4BBF2501.5050703@gmail.com>
Bug-Reference-URL:    http://lists.gnu.org/archive/html/bug-bash/2010-04/msg00038.html
 
Bug-Description:
 
When declaring an associative array and implicitly assigning a value
to element "0", bash does not correctly allocate memory, leading to
a segmentation violation when that element or the array itself is
unset.
 
Patch (apply with `patch -p0'):
 
*** ../bash-4.1-patched/builtins/declare.def    2009-11-25 19:42:00.000000000 -0500
--- builtins/declare.def    2010-05-30 18:25:21.000000000 -0400
***************
*** 513,517 ****
            /* let bind_{array,assoc}_variable take care of this. */
            if (assoc_p (var))
!         bind_assoc_variable (var, name, "0", value, aflags);
            else
          bind_array_variable (name, 0, value, aflags);
--- 519,523 ----
            /* let bind_{array,assoc}_variable take care of this. */
            if (assoc_p (var))
!         bind_assoc_variable (var, name, savestring ("0"), value, aflags);
            else
          bind_array_variable (name, 0, value, aflags);
*** ../bash-4.1-patched/patchlevel.h    2009-10-01 16:39:22.000000000 -0400
--- patchlevel.h    2010-01-14 09:38:08.000000000 -0500
***************
*** 26,30 ****
     looks for to find the patch level (for the sccs version string). */
  
! #define PATCHLEVEL 7
  
  #endif /* _PATCHLEVEL_H_ */
--- 26,30 ----
     looks for to find the patch level (for the sccs version string). */
  
! #define PATCHLEVEL 8
  
  #endif /* _PATCHLEVEL_H_ */