You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by fr...@apache.org on 2017/12/05 17:00:32 UTC
svn commit: r1817217 -
/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/codec/ResponseDecoder.java
Author: frm
Date: Tue Dec 5 17:00:32 2017
New Revision: 1817217
URL: http://svn.apache.org/viewvc?rev=1817217&view=rev
Log:
OAK-7031 - Ensure that the temporary file is not accidentally leaked
Modified:
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/codec/ResponseDecoder.java
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/codec/ResponseDecoder.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/codec/ResponseDecoder.java?rev=1817217&r1=1817216&r2=1817217&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/codec/ResponseDecoder.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/codec/ResponseDecoder.java Tue Dec 5 17:00:32 2017
@@ -136,10 +136,8 @@ public class ResponseDecoder extends Byt
// START_CHUNK flag enabled
if ((mask & (1 << 0)) != 0) {
blobChunkSize = in.readableBytes() - 8;
-
- if (tempFile.exists()) {
- log.debug("Detected previous incomplete transfer for {}. Cleaning up...", blobId);
- Files.delete(tempFile.toPath());
+ if (Files.deleteIfExists(tempFile.toPath())) {
+ log.debug("Deleted temporary file for previous incomplete transfer of {}", blobId);
}
}
@@ -155,9 +153,9 @@ public class ResponseDecoder extends Byt
return;
} else {
log.debug("All checks OK. Appending chunk to disk to {} ", tempFile.getAbsolutePath());
- OutputStream outStream = new FileOutputStream(tempFile, true);
- outStream.write(chunkData);
- outStream.close();
+ try (OutputStream outStream = new FileOutputStream(tempFile, true)) {
+ outStream.write(chunkData);
+ }
}
// END_CHUNK flag enabled