From 3c1c130bf0f7f169faf72cbb2a2b509bb60cb977 Mon Sep 17 00:00:00 2001 From: zzz Date: Sat, 7 Jun 2014 13:15:13 +0000 Subject: [PATCH] * i2psnark: Fix errors when checking read-only files --- apps/i2psnark/java/src/org/klomp/snark/Storage.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/apps/i2psnark/java/src/org/klomp/snark/Storage.java b/apps/i2psnark/java/src/org/klomp/snark/Storage.java index 8b2b5a39b..5b7aa962f 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/Storage.java +++ b/apps/i2psnark/java/src/org/klomp/snark/Storage.java @@ -518,7 +518,9 @@ public class Storage // Create base as file. if (_log.shouldLog(Log.INFO)) _log.info("Creating/Checking file: " + base); - if (!base.createNewFile() && !base.exists()) + // createNewFile() can throw a "Permission denied" IOE even if the file exists??? + // so do it second + if (!base.exists() && !base.createNewFile()) throw new IOException("Could not create file " + base); _torrentFiles.add(new TorrentFile(base, base, metainfo.getTotalLength())); @@ -714,7 +716,9 @@ public class Storage f = new File(base, name); else f = new SecureFile(base, name); - if (!f.createNewFile() && !f.exists()) + // createNewFile() can throw a "Permission denied" IOE even if the file exists??? + // so do it second + if (!f.exists() && !f.createNewFile()) throw new IOException("Could not create file " + f); } }