2002-11-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
authorGonzalo Paniagua Javier <gonzalo.mono@gmail.com>
Wed, 6 Nov 2002 14:34:18 +0000 (14:34 -0000)
committerGonzalo Paniagua Javier <gonzalo.mono@gmail.com>
Wed, 6 Nov 2002 14:34:18 +0000 (14:34 -0000)
* parser.cs: detect illegal \ at end of pattern. Fixes 31334.

svn path=/trunk/mcs/; revision=8854

mcs/class/System/System.Text.RegularExpressions/ChangeLog
mcs/class/System/System.Text.RegularExpressions/parser.cs

index f947fca6500318582ab3738105a1f55667eb71fe..bc39e2728d313995abf05c9010f327b3ff8b01ca 100644 (file)
@@ -1,3 +1,7 @@
+2002-11-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * parser.cs: detect illegal \ at end of pattern. Fixes 31334.
+
 2002-10-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
 
        * parser.cs: applied fix from Tim Haynes (thaynes@openlinksw.com) to
index 67f81f243d35ce5ec438e678af2e013920e403b6..1804b9289e0646943eb2e7c78cda9ab0232e2ac4 100644 (file)
@@ -874,6 +874,11 @@ namespace System.Text.RegularExpressions.Syntax {
                        int p = ptr;\r
                        int c;\r
 \r
+                       if (p >= pattern.Length)\r
+                               throw new ArgumentException (\r
+                                               String.Format ("Parsing \"{0}\" - Illegal \\ at end of " + \r
+                                                               "pattern.", pattern), pattern);\r
+                       \r
                        switch (pattern[ptr ++]) {\r
        \r
                        // standard escapes (except \b)\r