diff --git a/redfish-core/lib/eventservice_sse.hpp b/redfish-core/lib/eventservice_sse.hpp
index eb0552f..bfd97c1 100644
--- a/redfish-core/lib/eventservice_sse.hpp
+++ b/redfish-core/lib/eventservice_sse.hpp
@@ -41,11 +41,11 @@
 
     if (filterIt != req.url().params().end())
     {
-        std::string_view filterValue = (*filterIt).value;
-        filter = parseFilter(filterValue);
+        const boost::urls::param& filterParam = *filterIt;
+        filter = parseFilter(filterParam.value);
         if (!filter)
         {
-            conn.close(std::format("Bad $filter param: {}", filterValue));
+            conn.close(std::format("Bad $filter param: {}", filterParam.value));
             return;
         }
     }
diff --git a/redfish-core/lib/sensors.hpp b/redfish-core/lib/sensors.hpp
index 9151d59..781a41c 100644
--- a/redfish-core/lib/sensors.hpp
+++ b/redfish-core/lib/sensors.hpp
@@ -287,7 +287,7 @@
                                      std::string, std::vector<std::string>>>>&
                      object : subtree)
             {
-                if (sensorNames->find(object.first) != sensorNames->end())
+                if (sensorNames->contains(object.first))
                 {
                     for (const std::pair<std::string, std::vector<std::string>>&
                              objData : object.second)
@@ -1894,7 +1894,7 @@
                     const std::string& sensorName = split[5];
                     BMCWEB_LOG_DEBUG("sensorName {} sensorType {}", sensorName,
                                      sensorType);
-                    if (sensorNames->find(objPath) == sensorNames->end())
+                    if (!sensorNames->contains(objPath))
                     {
                         BMCWEB_LOG_DEBUG("{} not in sensor list ", sensorName);
                         continue;
