diff --git a/bmc/firmware-handler/firmware_handler.cpp b/bmc/firmware-handler/firmware_handler.cpp
index d11702f..dc19b23 100644
--- a/bmc/firmware-handler/firmware_handler.cpp
+++ b/bmc/firmware-handler/firmware_handler.cpp
@@ -57,10 +57,9 @@
 
     std::vector<std::string> blobs;
     blobs.reserve(firmwares.size());
-    std::for_each(firmwares.begin(), firmwares.end(),
-                  [&blobs](const auto& blob) {
-        blobs.emplace_back(blob.blobName);
-    });
+    std::for_each(
+        firmwares.begin(), firmwares.end(),
+        [&blobs](const auto& blob) { blobs.emplace_back(blob.blobName); });
 
     if (0 == std::count(blobs.begin(), blobs.end(), hashBlobId))
     {
@@ -450,10 +449,9 @@
      * firmware handers (and file handlers, like this'll know where to write the
      * tarball, etc).
      */
-    auto h = std::find_if(handlers.begin(), handlers.end(),
-                          [&path](const auto& iter) {
-        return (iter.blobName == path);
-    });
+    auto h = std::find_if(
+        handlers.begin(), handlers.end(),
+        [&path](const auto& iter) { return (iter.blobName == path); });
     if (h == handlers.end())
     {
         return false;
diff --git a/bmc/firmware-handler/firmware_handler.hpp b/bmc/firmware-handler/firmware_handler.hpp
index 4f32b29..505f1a7 100644
--- a/bmc/firmware-handler/firmware_handler.hpp
+++ b/bmc/firmware-handler/firmware_handler.hpp
@@ -192,10 +192,9 @@
 
     void addBlobId(const std::string& blob)
     {
-        auto blobIdMatch = std::find_if(blobIDs.begin(), blobIDs.end(),
-                                        [&blob](const std::string& iter) {
-            return (iter == blob);
-        });
+        auto blobIdMatch = std::find_if(
+            blobIDs.begin(), blobIDs.end(),
+            [&blob](const std::string& iter) { return (iter == blob); });
         if (blobIdMatch == blobIDs.end())
         {
             blobIDs.push_back(blob);
diff --git a/bmc/firmware-handler/main.cpp b/bmc/firmware-handler/main.cpp
index a383d02..2726ce6 100644
--- a/bmc/firmware-handler/main.cpp
+++ b/bmc/firmware-handler/main.cpp
@@ -71,7 +71,7 @@
 
 extern "C"
 {
-    std::unique_ptr<blobs::GenericBlobInterface> createHandler();
+std::unique_ptr<blobs::GenericBlobInterface> createHandler();
 }
 
 std::unique_ptr<blobs::GenericBlobInterface> createHandler()
