aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/private/Log/ExceptionSerializer.php6
-rw-r--r--tests/lib/Log/ExceptionSerializerTest.php3
2 files changed, 6 insertions, 3 deletions
diff --git a/lib/private/Log/ExceptionSerializer.php b/lib/private/Log/ExceptionSerializer.php
index dab134b26a4..a792f966eda 100644
--- a/lib/private/Log/ExceptionSerializer.php
+++ b/lib/private/Log/ExceptionSerializer.php
@@ -208,14 +208,16 @@ class ExceptionSerializer {
}
private function removeValuesFromArgs($args, $values) {
- foreach ($args as &$arg) {
+ $workArgs = [];
+ foreach ($args as $arg) {
if (in_array($arg, $values, true)) {
$arg = '*** sensitive parameter replaced ***';
} elseif (is_array($arg)) {
$arg = $this->removeValuesFromArgs($arg, $values);
}
+ $workArgs[] = $arg;
}
- return $args;
+ return $workArgs;
}
private function encodeTrace($trace) {
diff --git a/tests/lib/Log/ExceptionSerializerTest.php b/tests/lib/Log/ExceptionSerializerTest.php
index 1b7bfee2c87..f8cc6b77ee6 100644
--- a/tests/lib/Log/ExceptionSerializerTest.php
+++ b/tests/lib/Log/ExceptionSerializerTest.php
@@ -60,8 +60,9 @@ class ExceptionSerializerTest extends TestCase {
$secret = ['Secret'];
$this->emit([&$secret]);
} catch (\Exception $e) {
- $this->serializer->serializeException($e);
+ $serializedData = $this->serializer->serializeException($e);
$this->assertSame(['Secret'], $secret);
+ $this->assertSame('*** sensitive parameters replaced ***', $serializedData['Trace'][0]['args'][0]);
}
}
}