From d992d7f77c13c43cd280080b7a8c13e808db1280 Mon Sep 17 00:00:00 2001 From: Luck Date: Thu, 23 Nov 2017 20:15:29 +0000 Subject: [PATCH] Fix race condition when saving null config nodes to non-existent files --- .../lucko/luckperms/common/storage/dao/file/HoconDao.java | 6 ++++-- .../me/lucko/luckperms/common/storage/dao/file/JsonDao.java | 6 ++++-- .../me/lucko/luckperms/common/storage/dao/file/YamlDao.java | 6 ++++-- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/common/src/main/java/me/lucko/luckperms/common/storage/dao/file/HoconDao.java b/common/src/main/java/me/lucko/luckperms/common/storage/dao/file/HoconDao.java index abff4b418..cd53486dd 100644 --- a/common/src/main/java/me/lucko/luckperms/common/storage/dao/file/HoconDao.java +++ b/common/src/main/java/me/lucko/luckperms/common/storage/dao/file/HoconDao.java @@ -57,8 +57,10 @@ public class HoconDao extends ConfigurateDao { @Override protected void saveFile(File file, ConfigurationNode node) throws IOException { - if (node == null && file.exists()) { - file.delete(); + if (node == null) { + if (file.exists()) { + file.delete(); + } return; } diff --git a/common/src/main/java/me/lucko/luckperms/common/storage/dao/file/JsonDao.java b/common/src/main/java/me/lucko/luckperms/common/storage/dao/file/JsonDao.java index 2c7c966f8..826a94e2f 100644 --- a/common/src/main/java/me/lucko/luckperms/common/storage/dao/file/JsonDao.java +++ b/common/src/main/java/me/lucko/luckperms/common/storage/dao/file/JsonDao.java @@ -58,8 +58,10 @@ public class JsonDao extends ConfigurateDao { @Override protected void saveFile(File file, ConfigurationNode node) throws IOException { - if (node == null && file.exists()) { - file.delete(); + if (node == null) { + if (file.exists()) { + file.delete(); + } return; } diff --git a/common/src/main/java/me/lucko/luckperms/common/storage/dao/file/YamlDao.java b/common/src/main/java/me/lucko/luckperms/common/storage/dao/file/YamlDao.java index 121399042..70d31af00 100644 --- a/common/src/main/java/me/lucko/luckperms/common/storage/dao/file/YamlDao.java +++ b/common/src/main/java/me/lucko/luckperms/common/storage/dao/file/YamlDao.java @@ -60,8 +60,10 @@ public class YamlDao extends ConfigurateDao { @Override protected void saveFile(File file, ConfigurationNode node) throws IOException { - if (node == null && file.exists()) { - file.delete(); + if (node == null) { + if (file.exists()) { + file.delete(); + } return; }