Gergő Tisza has uploaded a new change for review.
https://gerrit.wikimedia.org/r/249942
Change subject: Log warnings on on preg_* failures in
MagicWordArray::matchAndRemove()
......................................................................
Log warnings on on preg_* failures in MagicWordArray::matchAndRemove()
Softer version of I3840a56adc0a6e50963b930051892491f8e90245.
Bug: T115514
Change-Id: Idb297a31b17928a0151476879294eedfbec0d744
---
M includes/MagicWord.php
1 file changed, 19 insertions(+), 2 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core
refs/changes/42/249942/1
diff --git a/includes/MagicWord.php b/includes/MagicWord.php
index 2c7ba91..fc3abd5 100644
--- a/includes/MagicWord.php
+++ b/includes/MagicWord.php
@@ -23,6 +23,8 @@
* @ingroup Parser
*/
+use MediaWiki\Logger\LoggerFactory;
+
/**
* This class encapsulates "magic words" such as "#redirect", __NOTOC__, etc.
*
@@ -951,13 +953,28 @@
continue;
}
$matches = array();
- if ( preg_match_all( $regex, $text, $matches,
PREG_SET_ORDER ) ) {
+ $res = preg_match_all( $regex, $text, $matches,
PREG_SET_ORDER );
+ if ( $res === false ) {
+ LoggerFactory::getInstance()->warning(
'preg_match_all returned false', array(
+ 'code' => preg_last_error(),
+ 'regex' => $regex,
+ 'text' => $text,
+ ) );
+ } elseif ( $res ) {
foreach ( $matches as $m ) {
list( $name, $param ) =
$this->parseMatch( $m );
$found[$name] = $param;
}
}
- $text = preg_replace( $regex, '', $text );
+ $res = preg_replace( $regex, '', $text );
+ if ( $res === null ) {
+ LoggerFactory::getInstance()->warning(
'preg_replace returned null', array(
+ 'code' => preg_last_error(),
+ 'regex' => $regex,
+ 'text' => $text,
+ ) );
+ }
+ $text = $res;
}
return $found;
}
--
To view, visit https://gerrit.wikimedia.org/r/249942
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Idb297a31b17928a0151476879294eedfbec0d744
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Gergő Tisza <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits