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 8ecd111ef7b5ddbef82caf7e1683f9f969fb9788..2848b00909835d63de0f8076ea9234b7bc0ea69b 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 15d394336e6f9544317643c90364d1ec1ea19c62..ec869f62550b08488d294821decc370f778f96d0 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 aa484a52269bc9c9f253cb1a189e9a14a62524fd..4d85aa691781969b39749d839f08a3e5138262db 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 ffa1d2577d3b9dc39f4a6bfbe3505b002adb5cb3..55e15727d9b4de07906068ca50056cd174116c1d 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 3be6b6309f99a462811c03683c11b0cf86203e94..b8503224f6f2cc0d1b14064a20f43b48a5046649 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) {