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