do not check sandbox for __toString if method does not exist on object

This commit is contained in:
Fabien Potencier
2019-03-11 12:03:25 +01:00
parent c36cf0db30
commit b1894d3df2
2 changed files with 1 additions and 4 deletions
+1 -1
View File
@@ -93,7 +93,7 @@ class SandboxExtension extends AbstractExtension
public function ensureToStringAllowed($obj)
{
if ($this->isSandboxed() && \is_object($obj)) {
if ($this->isSandboxed() && \is_object($obj) && method_exists($obj, '__toString')) {
$this->policy->checkMethodAllowed($obj, '__toString');
}
@@ -9,12 +9,9 @@
* file that was distributed with this source code.
*/
use Twig\Node\Expression\ArrayExpression;
use Twig\Node\Expression\ConstantExpression;
use Twig\Node\Expression\GetAttrExpression;
use Twig\Node\Expression\NameExpression;
use Twig\Node\SandboxedPrintNode;
use Twig\Template;
use Twig\Test\NodeTestCase;
class Twig_Tests_Node_SandboxedPrintTest extends NodeTestCase