bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Bash-4.3 Official Patch 24


From: Chet Ramey
Subject: Bash-4.3 Official Patch 24
Date: Wed, 20 Aug 2014 08:48:44 -0400

                             BASH PATCH REPORT
                             =================

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

Bug-Reported-by:        Corentin Peuvrel <cpeuvrel@pom-monitoring.com>
Bug-Reference-ID:       <53CE9E5D.6050203@pom-monitoring.com>
Bug-Reference-URL:      
http://lists.gnu.org/archive/html/bug-bash/2014-07/msg00021.html

Bug-Description:

Indirect variable references do not work correctly if the reference
variable expands to an array reference using a subscript other than 0
(e.g., foo='bar[1]' ; echo ${!foo}).

Patch (apply with `patch -p0'):

*** ../bash-4.3-patched/subst.c 2014-06-03 09:32:44.000000000 -0400
--- subst.c     2014-07-23 09:58:19.000000000 -0400
***************
*** 7375,7379 ****
  
    if (want_indir)
!     tdesc = parameter_brace_expand_indir (name + 1, var_is_special, quoted, 
quoted_dollar_atp, contains_dollar_at);
    else
      tdesc = parameter_brace_expand_word (name, var_is_special, quoted, 
PF_IGNUNBOUND|(pflags&(PF_NOSPLIT2|PF_ASSIGNRHS)), &ind);
--- 7445,7455 ----
  
    if (want_indir)
!     {
!       tdesc = parameter_brace_expand_indir (name + 1, var_is_special, quoted, 
quoted_dollar_atp, contains_dollar_at);
!       /* Turn off the W_ARRAYIND flag because there is no way for this 
function
!        to return the index we're supposed to be using. */
!       if (tdesc && tdesc->flags)
!       tdesc->flags &= ~W_ARRAYIND;
!     }
    else
      tdesc = parameter_brace_expand_word (name, var_is_special, quoted, 
PF_IGNUNBOUND|(pflags&(PF_NOSPLIT2|PF_ASSIGNRHS)), &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 23
  
  #endif /* _PATCHLEVEL_H_ */
--- 26,30 ----
     looks for to find the patch level (for the sccs version string). */
  
! #define PATCHLEVEL 24
  
  #endif /* _PATCHLEVEL_H_ */

-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
                 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, ITS, CWRU    chet@case.edu    http://cnswww.cns.cwru.edu/~chet/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]