diff --git a/apps/i2psnark/java/src/org/klomp/snark/dht/PersistDHT.java b/apps/i2psnark/java/src/org/klomp/snark/dht/PersistDHT.java index 8ecd111ef..2848b0090 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/dht/PersistDHT.java +++ b/apps/i2psnark/java/src/org/klomp/snark/dht/PersistDHT.java @@ -87,6 +87,8 @@ abstract class PersistDHT { out.println(ni.toPersistentString()); count++; } + if (out.checkError()) + throw new IOException("Failed write to " + file); } catch (IOException ioe) { if (log.shouldLog(Log.WARN)) log.warn("Error writing the DHT File", ioe); diff --git a/apps/susidns/src/java/src/i2p/susi/dns/SubscriptionsBean.java b/apps/susidns/src/java/src/i2p/susi/dns/SubscriptionsBean.java index 15d394336..ec869f625 100644 --- a/apps/susidns/src/java/src/i2p/susi/dns/SubscriptionsBean.java +++ b/apps/susidns/src/java/src/i2p/susi/dns/SubscriptionsBean.java @@ -112,6 +112,8 @@ public class SubscriptionsBean extends BaseBean out.println(url); } out.close(); + if (out.checkError()) + throw new IOException("Failed write to " + file); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); diff --git a/core/java/src/net/i2p/crypto/CertUtil.java b/core/java/src/net/i2p/crypto/CertUtil.java index aa484a522..4d85aa691 100644 --- a/core/java/src/net/i2p/crypto/CertUtil.java +++ b/core/java/src/net/i2p/crypto/CertUtil.java @@ -53,6 +53,8 @@ public class CertUtil { } wr.println("-----END CERTIFICATE-----"); wr.flush(); + if (wr.checkError()) + throw new IOException("Failed write to " + file); return true; } catch (CertificateEncodingException cee) { error("Error writing X509 Certificate " + file.getAbsolutePath(), cee); diff --git a/core/java/src/net/i2p/data/DataHelper.java b/core/java/src/net/i2p/data/DataHelper.java index ffa1d2577..55e15727d 100644 --- a/core/java/src/net/i2p/data/DataHelper.java +++ b/core/java/src/net/i2p/data/DataHelper.java @@ -529,6 +529,11 @@ public class DataHelper { out.flush(); fos.getFD().sync(); out.close(); + if (out.checkError()) { + out = null; + tmpFile.delete(); + throw new IOException("Failed to write properties to " + tmpFile); + } out = null; if (!FileUtil.rename(tmpFile, file)) throw new IOException("Failed rename from " + tmpFile + " to " + file); diff --git a/router/java/src/net/i2p/router/startup/WorkingDir.java b/router/java/src/net/i2p/router/startup/WorkingDir.java index 3be6b6309..b8503224f 100644 --- a/router/java/src/net/i2p/router/startup/WorkingDir.java +++ b/router/java/src/net/i2p/router/startup/WorkingDir.java @@ -322,6 +322,8 @@ public class WorkingDir { out.println(s); } System.err.println("Copied " + oldFile + " with modifications"); + if (out.checkError()) + throw new IOException("Failed write to " + newFile); return true; } catch (IOException ioe) { if (in != null) {