Fix the use of `preg_quote()` in `Censorship`
authorTim Düsterhus <duesterhus@woltlab.com>
Fri, 22 Oct 2021 09:20:14 +0000 (11:20 +0200)
committerTim Düsterhus <duesterhus@woltlab.com>
Fri, 22 Oct 2021 09:21:18 +0000 (11:21 +0200)
Specify the correct `$delimiter`.

wcfsetup/install/files/lib/system/message/censorship/Censorship.class.php

index 3aa0314903d8769dc98bd1de30719f6f589f7bca..028dcbadf1e600828bb60360535253289f1fa40e 100644 (file)
@@ -105,7 +105,7 @@ class Censorship extends SingletonFactory
                     continue 2;
                 } // check for asterisk matches ("*badword*" == "FooBadwordBar")
                 elseif (\mb_strpos($censoredWord, '*') !== false) {
-                    $censoredWord = \str_replace('\*', '.*', \preg_quote($censoredWord));
+                    $censoredWord = \str_replace('\*', '.*', \preg_quote($censoredWord, '!'));
                     if (\preg_match('!^' . $censoredWord . '$!', $word)) {
                         // store censored word
                         if (isset($this->matches[$word])) {