summaryrefslogtreecommitdiffstats
path: root/lib/private/AppFramework/OCS
diff options
context:
space:
mode:
authorCôme Chilliet <come.chilliet@nextcloud.com>2022-12-13 09:29:07 +0100
committerCôme Chilliet <come.chilliet@nextcloud.com>2023-01-20 11:22:09 +0100
commitf2cdc4f47d9136b54159557136dad892dcd31ec2 (patch)
treee54eee4d6522f6dc60ed74d14f0a18cab3135c7e /lib/private/AppFramework/OCS
parent0c466b7ff59c08e796437fc666a5307cb1dc969f (diff)
downloadnextcloud-server-f2cdc4f47d9136b54159557136dad892dcd31ec2.tar.gz
nextcloud-server-f2cdc4f47d9136b54159557136dad892dcd31ec2.zip
Fix crash in OCS when getting info about an application
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Diffstat (limited to 'lib/private/AppFramework/OCS')
-rw-r--r--lib/private/AppFramework/OCS/BaseResponse.php19
1 files changed, 11 insertions, 8 deletions
diff --git a/lib/private/AppFramework/OCS/BaseResponse.php b/lib/private/AppFramework/OCS/BaseResponse.php
index dbff1b846c1..f9577a7a5f2 100644
--- a/lib/private/AppFramework/OCS/BaseResponse.php
+++ b/lib/private/AppFramework/OCS/BaseResponse.php
@@ -37,13 +37,13 @@ abstract class BaseResponse extends Response {
/** @var string */
protected $format;
- /** @var string */
+ /** @var ?string */
protected $statusMessage;
- /** @var int */
+ /** @var ?int */
protected $itemsCount;
- /** @var int */
+ /** @var ?int */
protected $itemsPerPage;
/**
@@ -125,12 +125,15 @@ abstract class BaseResponse extends Response {
return $writer->outputMemory(true);
}
- /**
- * @param array $array
- * @param \XMLWriter $writer
- */
- protected function toXML(array $array, \XMLWriter $writer) {
+ protected function toXML(array $array, \XMLWriter $writer): void {
foreach ($array as $k => $v) {
+ if ($k === '@attributes' && is_array($v)) {
+ foreach ($v as $k2 => $v2) {
+ $writer->writeAttribute($k2, $v2);
+ }
+ continue;
+ }
+
if (\is_string($k) && strpos($k, '@') === 0) {
$writer->writeAttribute(substr($k, 1), $v);
continue;