From c9489a37950bd6aab766862001f9f4010c0ec37b Mon Sep 17 00:00:00 2001 From: Manuel Jenny Date: Fri, 23 Apr 2021 16:34:11 +0200 Subject: [PATCH] fix(pCloud): issue #305 NullReference Fix #305: NullReference when calling loadFolder with empty string --- .../org/cryptomator/data/cloud/pcloud/PCloudImpl.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/data/src/main/java/org/cryptomator/data/cloud/pcloud/PCloudImpl.java b/data/src/main/java/org/cryptomator/data/cloud/pcloud/PCloudImpl.java index 22e077a2..1bee544f 100644 --- a/data/src/main/java/org/cryptomator/data/cloud/pcloud/PCloudImpl.java +++ b/data/src/main/java/org/cryptomator/data/cloud/pcloud/PCloudImpl.java @@ -109,7 +109,9 @@ class PCloudImpl { public boolean exists(PCloudNode node) throws IOException, BackendException { try { - if (node instanceof PCloudFolder) { + if (node instanceof RootPCloudFolder) { + client().loadFolder("/").execute(); + } else if (node instanceof PCloudFolder) { client().loadFolder(node.getPath()).execute(); } else { client().loadFile(node.getPath()).execute(); @@ -124,8 +126,13 @@ class PCloudImpl { public List list(PCloudFolder folder) throws IOException, BackendException { List result = new ArrayList<>(); + String path = folder.getPath(); + if (folder instanceof RootPCloudFolder) { + path = "/"; + } + try { - RemoteFolder listFolderResult = client().listFolder(folder.getPath()).execute(); + RemoteFolder listFolderResult = client().listFolder(path).execute(); List entryMetadata = listFolderResult.children(); for (RemoteEntry metadata : entryMetadata) { result.add(PCloudNodeFactory.from(folder, metadata));