136-upstream-bash43-036.patch (1243B)
1 BASH PATCH REPORT 2 ================= 3 4 Bash-Release: 4.3 5 Patch-ID: bash43-036 6 7 Bug-Reported-by: emanuelczirai@cryptolab.net 8 Bug-Reference-ID: <f962e4f556da5ebfadaf7afe9c78a8cb@cryptolab.net> 9 Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-02/msg00071.html 10 11 Bug-Description: 12 13 When evaluating and setting integer variables, and the assignment fails to 14 create a variable (for example, when performing an operation on an array 15 variable with an invalid subscript), bash attempts to dereference a null 16 pointer, causing a segmentation violation. 17 18 Patch (apply with `patch -p0'): 19 20 --- a/variables.c 21 +++ b/variables.c 22 @@ -2833,10 +2833,12 @@ bind_int_variable (lhs, rhs) 23 #endif 24 v = bind_variable (lhs, rhs, 0); 25 26 - if (v && isint) 27 - VSETATTR (v, att_integer); 28 - 29 - VUNSETATTR (v, att_invisible); 30 + if (v) 31 + { 32 + if (isint) 33 + VSETATTR (v, att_integer); 34 + VUNSETATTR (v, att_invisible); 35 + } 36 37 return (v); 38 } 39 --- a/patchlevel.h 40 +++ b/patchlevel.h 41 @@ -25,6 +25,6 @@ 42 regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh 43 looks for to find the patch level (for the sccs version string). */ 44 45 -#define PATCHLEVEL 35 46 +#define PATCHLEVEL 36 47 48 #endif /* _PATCHLEVEL_H_ */