Closed
Description
Symfony version(s) affected
4.4 - current
Description
The AbstractSurrogateFragmentRenderer
throws an exception if non-scalar values are passed as attributes, but the detection has an early returns in case an attribute's $value
is an array:
How to reproduce
Pass on attributes in the form [[], <non-scalar>]
, containsNonScalars
will return false
instead of true
.
Possible Solution
Something like this:
private function containsNonScalars(array $values): bool
{
foreach ($values as $value) {
if (\is_array($value) && $this->containsNonScalars($value)) {
return true;
}
if (!is_scalar($value) && null !== $value) {
return true;
}
}
}
Additional Context
No response