123456789101112131415161718192021222324252627282930313233 |
- --TEST--
- Bug #79241: Segmentation fault on preg_match()
- --FILE--
- <?php
- // if "’" string is used directly without json_decode,
- // the issue does not reproduce
- $text = json_decode('"’"');
- $pattern = '/\b/u';
- // it has to be exact two calls to preg_match(),
- // with the second call offsetting after the tick symbol
- var_dump(preg_match($pattern, $text, $matches, 0, 0));
- var_dump(preg_match($pattern, $text, $matches, 0, 1));
- var_dump(preg_last_error() == PREG_BAD_UTF8_OFFSET_ERROR);
- echo "\n";
- $text = "VA\xff"; $text .= "LID";
- var_dump(preg_match($pattern, $text, $matches, 0, 4));
- var_dump(preg_match($pattern, $text, $matches, 0, 0));
- var_dump(preg_last_error() == PREG_BAD_UTF8_ERROR);
- ?>
- --EXPECT--
- int(0)
- bool(false)
- bool(true)
- int(1)
- bool(false)
- bool(true)
|