diff options
author | ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15> | 2007-04-16 13:24:37 +0000 |
---|---|---|
committer | ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15> | 2007-04-16 13:24:37 +0000 |
commit | ebe3a8b89cabe5b896b5e942e09211c96ceedde9 (patch) | |
tree | 4328c90e367042bae58a245a8ca19879ac7c812b | |
parent | a7805cc251a2bf79bfd39753b09eb8bd9428a504 (diff) | |
download | pcre-ebe3a8b89cabe5b896b5e942e09211c96ceedde9.tar.gz |
Fix bad handling of data lines longer than 50K by pcretest.
git-svn-id: svn://vcs.exim.org/pcre/code/trunk@147 2f5784b3-3f2a-0410-8824-cb99058d5e15
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | pcretest.c | 4 |
2 files changed, 6 insertions, 2 deletions
@@ -135,6 +135,10 @@ Version 7.1 12-Mar-07 was because its rules for how to advance for /g after matching an empty string at the end of a line did not allow for this case. They now check for it specially. + +20. pcretest is supposed to handle patterns and data of any length, by + extending its buffers when necessary. It was getting this wrong when the + buffer for a data line had to be extended. Version 7.0 19-Dec-06 @@ -1594,7 +1594,7 @@ while (!done) for (;;) { uschar *q; - uschar *bptr = dbuffer; + uschar *bptr; int *use_offsets = offsets; int use_size_offsets = size_offsets; int callout_data = 0; @@ -1650,7 +1650,7 @@ while (!done) p = buffer; while (isspace(*p)) p++; - q = dbuffer; + bptr = q = dbuffer; while ((c = *p++) != 0) { int i = 0; |