diff options
| author | joost <joost@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2010-12-10 15:32:34 +0000 |
|---|---|---|
| committer | joost <joost@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2010-12-10 15:32:34 +0000 |
| commit | b76df34d44984318d1f61cde3f79a57abe29a4a5 (patch) | |
| tree | 7b3b01d4d02f0ba9cab72cafb79e66e4bc13bb8f /packages/regexpr | |
| parent | d29a376615c56324ce29dde82d30661eac5717a0 (diff) | |
| download | fpc-b76df34d44984318d1f61cde3f79a57abe29a4a5.tar.gz | |
* Avoid possible AV when the string-index is larger then the string-length
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@16536 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/regexpr')
| -rw-r--r-- | packages/regexpr/src/regex.pp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/packages/regexpr/src/regex.pp b/packages/regexpr/src/regex.pp index 1f63ce6809..62dcace75a 100644 --- a/packages/regexpr/src/regex.pp +++ b/packages/regexpr/src/regex.pp @@ -254,6 +254,13 @@ var pc : pchar; x:integer; begin + if Offset>length(S) then + begin + Result := False; + MatchPos := 0; + Exit; + end; + {if the regex string hasn't been parsed yet, do so} if (FStateCount = 0) then begin if not Parse(ErrorPos, ErrorCode) then |
