From 375fa71cb816acb25bd2eaf24ef5cc292a1f2c36 Mon Sep 17 00:00:00 2001 From: Dan Engelbrecht Date: Thu, 2 May 2024 17:01:09 +0200 Subject: use write and move in place for safer writing of files (#70) * use write and move in place for safer writing of files --- src/zenserver/objectstore/objectstore.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/zenserver/objectstore/objectstore.cpp') diff --git a/src/zenserver/objectstore/objectstore.cpp b/src/zenserver/objectstore/objectstore.cpp index 846a228ce..e614b256b 100644 --- a/src/zenserver/objectstore/objectstore.cpp +++ b/src/zenserver/objectstore/objectstore.cpp @@ -12,6 +12,7 @@ #include "zencore/compactbinarybuilder.h" #include "zenhttp/httpcommon.h" #include "zenhttp/httpserver.h" +#include "zenutil/basicfile.h" #include #include @@ -589,7 +590,8 @@ HttpObjectStoreService::PutObject(zen::HttpRouterRequest& Request) return Request.ServerRequest().WriteResponse(HttpResponseCode::BadRequest); } - WriteFile(FilePath, FileBuf); + TemporaryFile::SafeWriteFile(FilePath, FileBuf.GetView()); + ZEN_LOG_DEBUG(LogObj, "PUT - '{}' [OK] ({})", (fs::path(BucketName) / RelativeBucketPath).make_preferred(), -- cgit v1.2.3