Skip to content

Commit edfe819

Browse files
jrfnlgrogy
authored andcommitted
SyntaxError::getNormalizedMessage(): bug fix - file name containing regex delimiter
If a file name would contain the delimiter used in the replacement regex, it would cause a PHP error like `preg_replace(): Unknown modifier 'f'`. Fixed by telling `preg_quote()` explicitly which delimiter is being used. Includes unit test. Ref: https://www.php.net/manual/en/function.preg-quote.php
1 parent 5a4d8eb commit edfe819

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/Error.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ public function getLine()
132132
public function getNormalizedMessage($translateTokens = false)
133133
{
134134
$message = preg_replace('~^(Parse|Fatal) error: (syntax error, )?~', '', $this->message);
135-
$message = preg_replace('~ in ' . preg_quote(basename($this->filePath)) . ' on line [0-9]+$~', '', $message);
135+
$message = preg_replace('~ in ' . preg_quote(basename($this->filePath), '~') . ' on line [0-9]+$~', '', $message);
136136
$message = ucfirst($message);
137137

138138
if ($translateTokens) {

0 commit comments

Comments
 (0)