Jackmcbarn has uploaded a new change for review. https://gerrit.wikimedia.org/r/163359
Change subject: Throw an exception if LuaSandboxFunction::call returns false ...................................................................... Throw an exception if LuaSandboxFunction::call returns false If LuaSandboxFunction::call returns false, it's an error on PHP's part. Throw a "real" exception so that we can see what's causing it in server logs. Bug: 71045 Change-Id: I7185e186d3e0af6e467b73ea1ef13417ca96b088 --- M engines/LuaSandbox/Engine.php 1 file changed, 9 insertions(+), 1 deletion(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Scribunto refs/changes/59/163359/1 diff --git a/engines/LuaSandbox/Engine.php b/engines/LuaSandbox/Engine.php index d8d2b29..8efc8ab 100644 --- a/engines/LuaSandbox/Engine.php +++ b/engines/LuaSandbox/Engine.php @@ -276,7 +276,15 @@ $args = func_get_args(); $func = array_shift( $args ); try { - return call_user_func_array( array( $func, 'call' ), $args ); + $ret = call_user_func_array( array( $func, 'call' ), $args ); + if ( $ret === false ) { + // Per the documentation on LuaSandboxFunction::call, a return value + // of false means that something went wrong and it's PHP's fault, + // so throw a "real" exception. + throw new MWException( + __METHOD__ . ': LuaSandboxFunction::call returned false' ); + } + return $ret; } catch ( LuaSandboxTimeoutError $e ) { throw $this->engine->newException( 'scribunto-common-timeout' ); } catch ( LuaSandboxError $e ) { -- To view, visit https://gerrit.wikimedia.org/r/163359 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I7185e186d3e0af6e467b73ea1ef13417ca96b088 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Scribunto Gerrit-Branch: master Gerrit-Owner: Jackmcbarn <jackmcb...@gmail.com> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits