From 8f3620e07b90f1182a6ee93fcc7a5a339bafba7b Mon Sep 17 00:00:00 2001 From: CalDescent Date: Fri, 20 Aug 2021 13:44:30 +0100 Subject: [PATCH] Fixed bug introduced in commit 51b1256 --- src/main/java/org/qortal/arbitrary/ArbitraryDataFile.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/qortal/arbitrary/ArbitraryDataFile.java b/src/main/java/org/qortal/arbitrary/ArbitraryDataFile.java index 4c98fa4c..b1a8c245 100644 --- a/src/main/java/org/qortal/arbitrary/ArbitraryDataFile.java +++ b/src/main/java/org/qortal/arbitrary/ArbitraryDataFile.java @@ -349,9 +349,13 @@ public class ArbitraryDataFile { } protected void cleanupFilesystem() { + // It is essential that use a separate path reference in this method + // as we don't want to modify this.filePath + Path path = this.filePath; + // Iterate through two levels of parent directories, and delete if empty for (int i=0; i<2; i++) { - Path directory = this.filePath.getParent().toAbsolutePath(); + Path directory = path.getParent().toAbsolutePath(); try (Stream files = Files.list(directory)) { final long count = files.count(); if (count == 0) { @@ -362,7 +366,7 @@ public class ArbitraryDataFile { } catch (IOException e) { LOGGER.warn("Unable to count files in directory", e); } - this.filePath = directory; + path = directory; } }