Mercurial > hg > orthanc
diff OrthancServer/Sources/ServerContext.cpp @ 4760:b2417ac5055a openssl-3.x
integration mainline->openssl-3.x
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 21 Jul 2021 10:48:14 +0200 |
parents | f0038043fb97 2f35e6b765e5 |
children | 70d2a97ca8cb |
line wrap: on
line diff
--- a/OrthancServer/Sources/ServerContext.cpp Thu Jul 08 14:58:18 2021 +0200 +++ b/OrthancServer/Sources/ServerContext.cpp Wed Jul 21 10:48:14 2021 +0200 @@ -1162,16 +1162,25 @@ StorageAccessor accessor(area_, GetMetricsRegistry()); FileInfo attachment = accessor.Write(data, size, attachmentType, compression, storeMD5_); - StoreStatus status = index_.AddAttachment( - newRevision, attachment, resourceId, hasOldRevision, oldRevision, oldMD5); - if (status != StoreStatus_Success) + try { + StoreStatus status = index_.AddAttachment( + newRevision, attachment, resourceId, hasOldRevision, oldRevision, oldMD5); + if (status != StoreStatus_Success) + { + accessor.Remove(attachment); + return false; + } + else + { + return true; + } + } + catch (OrthancException&) + { + // Fixed in Orthanc 1.9.6 accessor.Remove(attachment); - return false; - } - else - { - return true; + throw; } }