diff --git a/dump_manager_faultlog.cpp b/dump_manager_faultlog.cpp
index 8e0967e..516706e 100644
--- a/dump_manager_faultlog.cpp
+++ b/dump_manager_faultlog.cpp
@@ -58,8 +58,8 @@
     auto idString = std::to_string(id);
     auto objPath = std::filesystem::path(baseEntryPath) / idString;
 
-    std::filesystem::path faultLogFilePath(std::string(FAULTLOG_DUMP_PATH) +
-                                           idString);
+    std::filesystem::path faultLogFilePath(
+        std::string(FAULTLOG_DUMP_PATH) + idString);
     std::ofstream faultLogFile;
 
     errno = 0;
@@ -95,13 +95,13 @@
                 std::chrono::system_clock::now().time_since_epoch())
                 .count();
 
-        entries.insert(
-            std::make_pair(id, std::make_unique<faultlog::Entry>(
-                                   bus, objPath.c_str(), id, timestamp,
-                                   std::filesystem::file_size(faultLogFilePath),
-                                   faultLogFilePath,
-                                   phosphor::dump::OperationStatus::Completed,
-                                   originatorId, originatorType, *this)));
+        entries.insert(std::make_pair(
+            id,
+            std::make_unique<faultlog::Entry>(
+                bus, objPath.c_str(), id, timestamp,
+                std::filesystem::file_size(faultLogFilePath), faultLogFilePath,
+                phosphor::dump::OperationStatus::Completed, originatorId,
+                originatorType, *this)));
     }
     catch (const std::invalid_argument& e)
     {
