aboutsummaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorFerdinand Thiessen <opensource@fthiessen.de>2024-04-15 18:09:09 +0200
committerbackportbot[bot] <backportbot[bot]@users.noreply.github.com>2024-04-16 09:53:42 +0000
commit3091c31d6e57036b0d588b75aaa2c7e0ab2f18a5 (patch)
tree19cd46cd29c61b31a36040da807e35656bb9cd19 /apps
parentcab9fc22bae867404ea4ac9df8d299dc22b8b238 (diff)
downloadnextcloud-server-3091c31d6e57036b0d588b75aaa2c7e0ab2f18a5.tar.gz
nextcloud-server-3091c31d6e57036b0d588b75aaa2c7e0ab2f18a5.zip
fix(files): Sanitize `share-types` attribute in download action
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Diffstat (limited to 'apps')
-rw-r--r--apps/files/src/actions/downloadAction.ts3
1 files changed, 2 insertions, 1 deletions
diff --git a/apps/files/src/actions/downloadAction.ts b/apps/files/src/actions/downloadAction.ts
index 5afec375e99..de2fa081166 100644
--- a/apps/files/src/actions/downloadAction.ts
+++ b/apps/files/src/actions/downloadAction.ts
@@ -48,7 +48,8 @@ const isDownloadable = function(node: Node) {
// If the mount type is a share, ensure it got download permissions.
if (node.attributes['mount-type'] === 'shared') {
- const downloadAttribute = JSON.parse(node.attributes['share-attributes']).find((attribute: { scope: string; key: string }) => attribute.scope === 'permissions' && attribute.key === 'download')
+ const shareAttributes = JSON.parse(node.attributes['share-attributes'] ?? 'null')
+ const downloadAttribute = shareAttributes?.find?.((attribute: { scope: string; key: string }) => attribute.scope === 'permissions' && attribute.key === 'download')
if (downloadAttribute !== undefined && downloadAttribute.enabled === false) {
return false
}