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;
     }
   }