Skip to content

Commit

Permalink
[HttpKernel] fix nested calls to serialize when using DataCollector
Browse files Browse the repository at this point in the history
  • Loading branch information
nicolas-grekas committed Jan 29, 2019
1 parent b4357d7 commit 3cfb558
Showing 1 changed file with 5 additions and 2 deletions.
Expand Up @@ -42,12 +42,15 @@ abstract class DataCollector implements DataCollectorInterface, \Serializable

public function serialize()
{
return serialize($this->data);
$trace = debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT, 2);
$isCalledFromOverridingMethod = isset($trace[1]['function'], $trace[1]['object']) && 'serialize' === $trace[1]['function'] && $this === $trace[1]['object'];

return $isCalledFromOverridingMethod ? $this->data : serialize($this->data);
}

public function unserialize($data)
{
$this->data = unserialize($data);
$this->data = \is_array($data) ? $data : unserialize($data);
}

/**
Expand Down

0 comments on commit 3cfb558

Please sign in to comment.