components/tcsh/patches/010.out-of-bounds.patch
author Rich Burridge <rich.burridge@oracle.com>
Mon, 19 Dec 2016 15:41:53 -0800
branchs11u3-sru
changeset 7509 5f98694fa5a6
permissions -rw-r--r--
25216284 problem in UTILITY/TCSH
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7509
5f98694fa5a6 25216284 problem in UTILITY/TCSH
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     1
Fix out of bounds read (Brooks Davis)
5f98694fa5a6 25216284 problem in UTILITY/TCSH
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     2
(reproduce by starting tcsh and hitting tab at the prompt)
5f98694fa5a6 25216284 problem in UTILITY/TCSH
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     3
5f98694fa5a6 25216284 problem in UTILITY/TCSH
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     4
See:
5f98694fa5a6 25216284 problem in UTILITY/TCSH
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     5
http://mx.gw.com/pipermail/tcsh-bugs/2016-December/001103.html
5f98694fa5a6 25216284 problem in UTILITY/TCSH
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     6
for more details.
5f98694fa5a6 25216284 problem in UTILITY/TCSH
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     7
5f98694fa5a6 25216284 problem in UTILITY/TCSH
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     8
Upstream fix at:
5f98694fa5a6 25216284 problem in UTILITY/TCSH
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     9
https://github.com/tcsh-org/tcsh/commit/6a542dc4fb2ba26518a47e9b3a9bcd6a91b94596
5f98694fa5a6 25216284 problem in UTILITY/TCSH
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    10
5f98694fa5a6 25216284 problem in UTILITY/TCSH
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    11
--- tcsh-6.19.00/ed.chared.c.orig	2016-12-07 06:26:09.076227132 +0000
5f98694fa5a6 25216284 problem in UTILITY/TCSH
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    12
+++ tcsh-6.19.00/ed.chared.c	2016-12-07 06:26:41.976633276 +0000
5f98694fa5a6 25216284 problem in UTILITY/TCSH
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    13
@@ -750,7 +750,7 @@
5f98694fa5a6 25216284 problem in UTILITY/TCSH
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    14
     /*
5f98694fa5a6 25216284 problem in UTILITY/TCSH
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    15
      * If we found a history character, go expand it.
5f98694fa5a6 25216284 problem in UTILITY/TCSH
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    16
      */
5f98694fa5a6 25216284 problem in UTILITY/TCSH
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    17
-    if (HIST != '\0' && *p == HIST)
5f98694fa5a6 25216284 problem in UTILITY/TCSH
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    18
+    if (p >= InputBuf && HIST != '\0' && *p == HIST)
5f98694fa5a6 25216284 problem in UTILITY/TCSH
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    19
 	nr_exp = c_excl(p);
5f98694fa5a6 25216284 problem in UTILITY/TCSH
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    20
     else
5f98694fa5a6 25216284 problem in UTILITY/TCSH
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    21
         nr_exp = 0;