From e5b4b618323e95f1bd6f30e74e3415c474db40bd Mon Sep 17 00:00:00 2001 From: CalDescent Date: Sat, 30 Apr 2022 11:26:05 +0100 Subject: [PATCH] Fixed bugs causing "Hash ... does not match file digest ..." errors --- src/main/java/org/qortal/arbitrary/ArbitraryDataFile.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/qortal/arbitrary/ArbitraryDataFile.java b/src/main/java/org/qortal/arbitrary/ArbitraryDataFile.java index 14504f37..9be4f145 100644 --- a/src/main/java/org/qortal/arbitrary/ArbitraryDataFile.java +++ b/src/main/java/org/qortal/arbitrary/ArbitraryDataFile.java @@ -93,10 +93,12 @@ public class ArbitraryDataFile { File outputFile = outputFilePath.toFile(); try (FileOutputStream outputStream = new FileOutputStream(outputFile)) { outputStream.write(fileContent); + outputStream.close(); this.filePath = outputFilePath; // Verify hash - if (!this.hash58.equals(this.digest58())) { - LOGGER.error("Hash {} does not match file digest {} for signature: {}", this.hash58, this.digest58(), Base58.encode(signature)); + String digest58 = this.digest58(); + if (!this.hash58.equals(digest58)) { + LOGGER.error("Hash {} does not match file digest {} for signature: {}", this.hash58, digest58, Base58.encode(signature)); this.delete(); throw new DataException("Data file digest validation failed"); }