Fix TOCTOU issue when getting blob during removal

Fixes gaul/s3proxy#318.
This commit is contained in:
Andrew Gaul 2019-11-09 11:25:24 +09:00
parent b6534eddde
commit f34cdb98d5
1 changed files with 3 additions and 3 deletions

View File

@ -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) {