From 212e822ccba483e7f40dfbc9656672eadc60641f Mon Sep 17 00:00:00 2001 From: Marc <980978+MarcHagen@users.noreply.github.com> Date: Wed, 28 Aug 2024 23:30:54 +0200 Subject: [PATCH] Unpack child result array --- src/Process/ParallelProcess.php | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/Process/ParallelProcess.php b/src/Process/ParallelProcess.php index 9e95cb8..8f0145b 100644 --- a/src/Process/ParallelProcess.php +++ b/src/Process/ParallelProcess.php @@ -68,11 +68,15 @@ public function getOutput() if (! $this->output) { $processOutput = $this->process->getOutput(); - $this->output = @unserialize(base64_decode($processOutput)); + $childResult = @unserialize(base64_decode($processOutput)); - if (! $this->output) { + if ($childResult === false || !is_string($childResult['output'])) { $this->errorOutput = $processOutput; + + return null; } + + $this->output = $childResult['output']; } return $this->output; @@ -83,11 +87,13 @@ public function getErrorOutput() if (! $this->errorOutput) { $processOutput = $this->process->getErrorOutput(); - $this->errorOutput = @unserialize(base64_decode($processOutput)); + $childResult = @unserialize(base64_decode($processOutput)); - if (! $this->errorOutput) { + if ($childResult === false || !is_string($childResult['output'])) { $this->errorOutput = $processOutput; - } + } else { + $this->errorOutput = $childResult['output']; + } } return $this->errorOutput;