From bdedfb8ffae69b01ded6769f253060db84616d9c Mon Sep 17 00:00:00 2001 From: Tim Starling Date: Thu, 1 Aug 2019 10:08:38 +1000 Subject: [PATCH] Suppress notice from ParserOutput::__sleep() Bug: T229366 Change-Id: I8f0a537f0b6b76aac0c52e691ec4653c51c49940 --- includes/parser/ParserOutput.php | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/includes/parser/ParserOutput.php b/includes/parser/ParserOutput.php index cbba80a51b..1922f7dd39 100644 --- a/includes/parser/ParserOutput.php +++ b/includes/parser/ParserOutput.php @@ -1326,9 +1326,18 @@ class ParserOutput extends CacheTime { } public function __sleep() { - return array_diff( - array_keys( get_object_vars( $this ) ), - [ 'mParseStartTime' ] + return array_filter( array_keys( get_object_vars( $this ) ), + function ( $field ) { + if ( $field === 'mParseStartTime' ) { + return false; + } elseif ( strpos( $field, "\0" ) !== false ) { + // Unserializing unknown private fields in HHVM causes + // member variables with nulls in their names (T229366) + return false; + } else { + return true; + } + } ); } -- 2.20.1