summaryrefslogtreecommitdiff
path: root/gcc/ada/s-regpat.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2010-06-21 14:17:34 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2010-06-21 14:17:34 +0000
commitc63cfa9671f37b7b9f74243e1a6c91cdd45929d9 (patch)
treefcdc07ccbc094a2af953364160e0ab8df6859827 /gcc/ada/s-regpat.adb
parentb3c3927c05d8ad190b76c56ae6020e1650b85a97 (diff)
downloadgcc-c63cfa9671f37b7b9f74243e1a6c91cdd45929d9.tar.gz
2010-06-21 Thomas Quinot <quinot@adacore.com>
* bindgen.ads: Update comments. 2010-06-21 Vincent Celier <celier@adacore.com> * gnatbind.adb: Suppress dupicates when listing the sources in the closure (switch -R). 2010-06-21 Emmanuel Briot <briot@adacore.com> * s-regpat.adb (Link_Tail): Fix error when size of the pattern matcher is too small. 2010-06-21 Emmanuel Briot <briot@adacore.com> * g-expect.adb, g-expect.ads (First_Dead_Process, Free, Has_Process): New subprograms. (Expect_Internal): No longer raises an exception, so that it can set out parameters as well. When a process has died, reset its Input_Fd to Invalid_Fd, so that when using multiple processes we can find out which process has died. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161081 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/s-regpat.adb')
-rwxr-xr-xgcc/ada/s-regpat.adb5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/ada/s-regpat.adb b/gcc/ada/s-regpat.adb
index 8dc079ed244..27a108c1d58 100755
--- a/gcc/ada/s-regpat.adb
+++ b/gcc/ada/s-regpat.adb
@@ -802,10 +802,11 @@ package body System.Regpat is
Offset : Pointer;
begin
- -- Find last node
+ -- Find last node (the size of the pattern matcher might be too
+ -- small, so don't try to read past its end)
Scan := P;
- while Scan <= PM.Size loop
+ while Scan + 3 <= PM.Size loop
Temp := Get_Next (Program, Scan);
exit when Temp = Scan;
Scan := Temp;