This is an automated email from the ASF dual-hosted git repository.
gaul pushed a commit to branch 2.2.x
in repository https://gitbox.apache.org/repos/asf/jclouds.git
The following commit(s) were added to refs/heads/2.2.x by this push:
new f34cdb9 Fix TOCTOU issue when getting blob during removal
f34cdb9 is described below
commit f34cdb98d5a120014f63d93480a73fdf7784f7d3
Author: Andrew Gaul <[email protected]>
AuthorDate: Sat Nov 9 11:25:24 2019 +0900
Fix TOCTOU issue when getting blob during removal
Fixes gaul/s3proxy#318.
---
.../src/main/java/org/jclouds/blobstore/config/LocalBlobStore.java | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git
a/blobstore/src/main/java/org/jclouds/blobstore/config/LocalBlobStore.java
b/blobstore/src/main/java/org/jclouds/blobstore/config/LocalBlobStore.java
index e1dab9f..9c521be 100644
--- a/blobstore/src/main/java/org/jclouds/blobstore/config/LocalBlobStore.java
+++ b/blobstore/src/main/java/org/jclouds/blobstore/config/LocalBlobStore.java
@@ -636,14 +636,14 @@ public final class LocalBlobStore implements BlobStore {
logger.debug("Container %s does not exist", containerName);
throw cnfe(containerName);
}
+
// If the blob doesn't exist, a null object is returned
- if (!storageStrategy.blobExists(containerName, key)) {
+ Blob blob = loadBlob(containerName, key);
+ if (blob == null) {
logger.debug("Item %s does not exist in container %s", key,
containerName);
return null;
}
- Blob blob = loadBlob(containerName, key);
-
if (options != null) {
String eTag = blob.getMetadata().getETag();
if (eTag != null) {