components/bash/patches/bash43-024.patch
changeset 5518 c47fe0edc204
equal deleted inserted replaced
5517:7758049098f4 5518:c47fe0edc204
       
     1 			     BASH PATCH REPORT
       
     2 			     =================
       
     3 
       
     4 Bash-Release:	4.3
       
     5 Patch-ID:	bash43-024
       
     6 
       
     7 Bug-Reported-by:	Corentin Peuvrel <[email protected]>
       
     8 Bug-Reference-ID:	<[email protected]>
       
     9 Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2014-07/msg00021.html
       
    10 
       
    11 Bug-Description:
       
    12 
       
    13 Indirect variable references do not work correctly if the reference
       
    14 variable expands to an array reference using a subscript other than 0
       
    15 (e.g., foo='bar[1]' ; echo ${!foo}).
       
    16 
       
    17 Patch (apply with `patch -p0'):
       
    18 
       
    19 *** ../bash-4.3-patched/subst.c	2014-06-03 09:32:44.000000000 -0400
       
    20 --- subst.c	2014-07-23 09:58:19.000000000 -0400
       
    21 ***************
       
    22 *** 7375,7379 ****
       
    23   
       
    24     if (want_indir)
       
    25 !     tdesc = parameter_brace_expand_indir (name + 1, var_is_special, quoted, quoted_dollar_atp, contains_dollar_at);
       
    26     else
       
    27       tdesc = parameter_brace_expand_word (name, var_is_special, quoted, PF_IGNUNBOUND|(pflags&(PF_NOSPLIT2|PF_ASSIGNRHS)), &ind);
       
    28 --- 7445,7455 ----
       
    29   
       
    30     if (want_indir)
       
    31 !     {
       
    32 !       tdesc = parameter_brace_expand_indir (name + 1, var_is_special, quoted, quoted_dollar_atp, contains_dollar_at);
       
    33 !       /* Turn off the W_ARRAYIND flag because there is no way for this function
       
    34 ! 	 to return the index we're supposed to be using. */
       
    35 !       if (tdesc && tdesc->flags)
       
    36 ! 	tdesc->flags &= ~W_ARRAYIND;
       
    37 !     }
       
    38     else
       
    39       tdesc = parameter_brace_expand_word (name, var_is_special, quoted, PF_IGNUNBOUND|(pflags&(PF_NOSPLIT2|PF_ASSIGNRHS)), &ind);
       
    40 *** ../bash-4.3/patchlevel.h	2012-12-29 10:47:57.000000000 -0500
       
    41 --- patchlevel.h	2014-03-20 20:01:28.000000000 -0400
       
    42 ***************
       
    43 *** 26,30 ****
       
    44      looks for to find the patch level (for the sccs version string). */
       
    45   
       
    46 ! #define PATCHLEVEL 23
       
    47   
       
    48   #endif /* _PATCHLEVEL_H_ */
       
    49 --- 26,30 ----
       
    50      looks for to find the patch level (for the sccs version string). */
       
    51   
       
    52 ! #define PATCHLEVEL 24
       
    53   
       
    54   #endif /* _PATCHLEVEL_H_ */