components/bash/patches/bash43-041.patch
author Mike Sullivan <Mike.Sullivan@Oracle.COM>
Sat, 24 Sep 2016 09:29:15 -0700
changeset 6971 32152bc508b7
parent 5518 c47fe0edc204
permissions -rw-r--r--
Close of build 109.
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-041
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:	Hanno Böck <[email protected]>
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     8
Bug-Reference-ID:	<20150623131106.6f111da9@pc1>, <20150707004640.0e61d2f9@pc1>
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-06/msg00089.html,
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    10
			http://lists.gnu.org/archive/html/bug-bash/2015-07/msg00018.html
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    11
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    12
Bug-Description:
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    13
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    14
There are several out-of-bounds read errors that occur when completing command
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    15
lines where assignment statements appear before the command name.  The first
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    16
two appear only when programmable completion is enabled; the last one only
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    17
happens when listing possible completions.
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
Patch (apply with `patch -p0'):
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    20
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    21
*** ../bash-4.3.40/bashline.c	2014-12-29 14:39:43.000000000 -0500
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    22
--- bashline.c	2015-08-12 10:21:58.000000000 -0400
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    23
***************
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    24
*** 1469,1476 ****
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    25
--- 1469,1489 ----
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    26
        os = start;
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    27
        n = 0;
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    28
+       was_assignment = 0;
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    29
        s = find_cmd_start (os);
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    30
        e = find_cmd_end (end);
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    31
        do
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    32
  	{
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    33
+ 	  /* Don't read past the end of rl_line_buffer */
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    34
+ 	  if (s > rl_end)
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
+ 	      s1 = s = e1;
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    37
+ 	      break;
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    38
+ 	    }
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    39
+ 	  /* Or past point if point is within an assignment statement */
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    40
+ 	  else if (was_assignment && s > rl_point)
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    41
+ 	    {
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    42
+ 	      s1 = s = e1;
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    43
+ 	      break;
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
  	  /* Skip over assignment statements preceding a command name.  If we
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    46
  	     don't find a command name at all, we can perform command name
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    47
*** ../bash-4.3.40/lib/readline/complete.c	2013-10-14 09:27:10.000000000 -0400
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    48
--- lib/readline/complete.c	2015-07-31 09:34:39.000000000 -0400
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    49
***************
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    50
*** 690,693 ****
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    51
--- 690,695 ----
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    52
    if (temp == 0 || *temp == '\0')
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    53
      return (pathname);
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    54
+   else if (temp[1] == 0 && temp == pathname)
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    55
+     return (pathname);
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    56
    /* If the basename is NULL, we might have a pathname like '/usr/src/'.
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    57
       Look for a previous slash and, if one is found, return the portion
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    58
*** ../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
    59
--- 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
    60
***************
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    61
*** 26,30 ****
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    62
     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
    63
  
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    64
! #define PATCHLEVEL 40
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
  #endif /* _PATCHLEVEL_H_ */
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    67
--- 26,30 ----
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    68
     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
    69
  
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    70
! #define PATCHLEVEL 41
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    71
  
c47fe0edc204 20612604 upgrade bash to 4.3
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    72
  #endif /* _PATCHLEVEL_H_ */