diff options
author | ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15> | 2015-02-03 17:08:54 +0000 |
---|---|---|
committer | ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15> | 2015-02-03 17:08:54 +0000 |
commit | 31f00f0d66343cd8540a6fb336e25d505a98c4f1 (patch) | |
tree | e5b15822e08d09587d79f38b86d1b510118c75bf | |
parent | 68282df90da8c8eb011f27cb2d6cd74b1058e9bf (diff) | |
download | pcre-31f00f0d66343cd8540a6fb336e25d505a98c4f1.tar.gz |
Fix pcretest crash with /g and zero-length ovector.
git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1515 2f5784b3-3f2a-0410-8824-cb99058d5e15
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | pcretest.c | 6 |
2 files changed, 9 insertions, 0 deletions
@@ -16,6 +16,9 @@ Version 8.37 xx-xxx-201x 3. If a pattern in pcretest input had the P (POSIX) modifier followed by an unrecognized modifier, a crash could occur. + +4. An attempt to do global matching in pcretest with a zero-length ovector + caused a crash. @@ -5603,6 +5603,12 @@ while (!done) /* If not /g or /G we are done */ if (!do_g && !do_G) break; + + if (use_offsets == NULL) + { + fprintf(outfile, "Cannot do global matching without an ovector\n"); + break; + } /* If we have matched an empty string, first check to see if we are at the end of the subject. If so, the /g loop is over. Otherwise, mimic what |