This is an automated email from the ASF dual-hosted git repository.

gaul pushed a commit to branch 2.1.x
in repository https://gitbox.apache.org/repos/asf/jclouds.git


The following commit(s) were added to refs/heads/2.1.x by this push:
     new 05573fa  Fix TOCTOU issue when getting blob during removal
05573fa is described below

commit 05573fa108c289e29114add15807cf444d278ed6
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 2eba12b..aa5b73c 100644
--- a/blobstore/src/main/java/org/jclouds/blobstore/config/LocalBlobStore.java
+++ b/blobstore/src/main/java/org/jclouds/blobstore/config/LocalBlobStore.java
@@ -632,14 +632,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) {

Reply via email to