components/bash/patches/bash43-034.patch
author Stefan Teleman <stefan.teleman@oracle.com>
Mon, 29 Feb 2016 10:09:14 -0800
changeset 5518 c47fe0edc204
permissions -rw-r--r--
20612604 upgrade bash to 4.3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5518
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     1
			     BASH PATCH REPORT
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     2
			     =================
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     3
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     4
Bash-Release:	4.3
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     5
Patch-ID:	bash43-034
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     6
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     7
Bug-Reported-by:	Dreamcat4 <[email protected]>
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     8
Bug-Reference-ID:	<CAN39uTpAEs2GFu4ebC_SfSVMRTh-DJ9YanrY4BZZ3OO+CCHjng@mail.gmail.com>
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     9
Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2015-05/msg00001.html
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    10
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    11
Bug-Description:
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    12
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    13
If neither the -f nor -v options is supplied to unset, and a name argument is
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    14
found to be a function and unset, subsequent name arguments are not treated as
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    15
variables before attempting to unset a function by that name.
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    16
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    17
Patch (apply with `patch -p0'):
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    18
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    19
*** ../bash-4.3-patched/builtins/set.def	2013-04-19 07:20:34.000000000 -0400
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    20
--- builtins/set.def	2015-05-05 13:25:36.000000000 -0400
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    21
***************
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    22
*** 752,758 ****
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    23
--- 797,805 ----
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    24
  {
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    25
    int unset_function, unset_variable, unset_array, opt, nameref, any_failed;
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    26
+   int global_unset_func, global_unset_var;
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    27
    char *name;
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    28
  
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    29
    unset_function = unset_variable = unset_array = nameref = any_failed = 0;
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    30
+   global_unset_func = global_unset_var = 0;
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    31
  
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    32
    reset_internal_getopt ();
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    33
***************
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    34
*** 762,769 ****
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    35
  	{
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    36
  	case 'f':
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    37
! 	  unset_function = 1;
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    38
  	  break;
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    39
  	case 'v':
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    40
! 	  unset_variable = 1;
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    41
  	  break;
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    42
  	case 'n':
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    43
--- 809,816 ----
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    44
  	{
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    45
  	case 'f':
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    46
! 	  global_unset_func = 1;
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    47
  	  break;
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    48
  	case 'v':
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    49
! 	  global_unset_var = 1;
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    50
  	  break;
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    51
  	case 'n':
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    52
***************
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    53
*** 778,782 ****
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    54
    list = loptend;
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    55
  
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    56
!   if (unset_function && unset_variable)
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    57
      {
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    58
        builtin_error (_("cannot simultaneously unset a function and a variable"));
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    59
--- 825,829 ----
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    60
    list = loptend;
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    61
  
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    62
!   if (global_unset_func && global_unset_var)
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    63
      {
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    64
        builtin_error (_("cannot simultaneously unset a function and a variable"));
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    65
***************
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    66
*** 796,799 ****
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    67
--- 843,849 ----
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    68
        name = list->word->word;
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    69
  
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    70
+       unset_function = global_unset_func;
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    71
+       unset_variable = global_unset_var;
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    72
+ 
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    73
  #if defined (ARRAY_VARS)
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    74
        unset_array = 0;
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    75
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    76
*** ../bash-4.3/patchlevel.h	2012-12-29 10:47:57.000000000 -0500
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    77
--- patchlevel.h	2014-03-20 20:01:28.000000000 -0400
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    78
***************
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    79
*** 26,30 ****
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    80
     looks for to find the patch level (for the sccs version string). */
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    81
  
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    82
! #define PATCHLEVEL 33
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    83
  
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    84
  #endif /* _PATCHLEVEL_H_ */
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    85
--- 26,30 ----
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    86
     looks for to find the patch level (for the sccs version string). */
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    87
  
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    88
! #define PATCHLEVEL 34
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    89
  
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    90
  #endif /* _PATCHLEVEL_H_ */