1--TEST-- 2Bug #79241: Segmentation fault on preg_match() 3--FILE-- 4<?php 5 6// if "’" string is used directly without json_decode, 7// the issue does not reproduce 8$text = json_decode('"’"'); 9 10$pattern = '/\b/u'; 11 12// it has to be exact two calls to preg_match(), 13// with the second call offsetting after the tick symbol 14var_dump(preg_match($pattern, $text, $matches, 0, 0)); 15var_dump(preg_match($pattern, $text, $matches, 0, 1)); 16var_dump(preg_last_error() == PREG_BAD_UTF8_OFFSET_ERROR); 17 18echo "\n"; 19 20$text = "VA\xff"; $text .= "LID"; 21var_dump(preg_match($pattern, $text, $matches, 0, 4)); 22var_dump(preg_match($pattern, $text, $matches, 0, 0)); 23var_dump(preg_last_error() == PREG_BAD_UTF8_ERROR); 24 25?> 26--EXPECT-- 27int(0) 28bool(false) 29bool(true) 30 31int(1) 32bool(false) 33bool(true) 34