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

Reply via email to