Resolve coverity issues
* Added Rule of Five compliance to the reported classes
* Added explicit default destructors and assignment operators
* Corrected comparison statement
Tested:
UTs passed
Change-Id: Ifcfc1055e2e65d9f3ce10e3878ff3f1dd5d84929
Signed-off-by: Piotr Sulewski <piotrx.sulewski@intel.com>
diff --git a/src/discrete_threshold.hpp b/src/discrete_threshold.hpp
index 1284461..537a43a 100644
--- a/src/discrete_threshold.hpp
+++ b/src/discrete_threshold.hpp
@@ -29,8 +29,11 @@
Milliseconds dwellTime, const std::string& thresholdValue,
const std::string& name, const discrete::Severity severity,
std::unique_ptr<interfaces::Clock> clock);
+ ~DiscreteThreshold() = default;
DiscreteThreshold(const DiscreteThreshold&) = delete;
+ DiscreteThreshold& operator=(const DiscreteThreshold&) = delete;
DiscreteThreshold(DiscreteThreshold&&) = delete;
+ DiscreteThreshold& operator=(DiscreteThreshold&&) = delete;
void initialize() override;
void sensorUpdated(interfaces::Sensor&, Milliseconds, double) override;
@@ -58,8 +61,11 @@
boost::asio::io_context& ioc) :
timer(ioc), sensorName(sensorNameIn)
{}
+ ~ThresholdDetail() = default;
ThresholdDetail(const ThresholdDetail&) = delete;
+ ThresholdDetail& operator=(const ThresholdDetail&) = delete;
ThresholdDetail(ThresholdDetail&&) = delete;
+ ThresholdDetail& operator=(ThresholdDetail&&) = delete;
const std::string& getSensorName()
{
diff --git a/src/numeric_threshold.hpp b/src/numeric_threshold.hpp
index 5337624..d15530b 100644
--- a/src/numeric_threshold.hpp
+++ b/src/numeric_threshold.hpp
@@ -29,8 +29,11 @@
Milliseconds dwellTime, numeric::Direction direction,
double thresholdValue, numeric::Type type,
std::unique_ptr<interfaces::Clock> clock);
+ ~NumericThreshold() = default;
NumericThreshold(const NumericThreshold&) = delete;
+ NumericThreshold& operator=(const NumericThreshold&) = delete;
NumericThreshold(NumericThreshold&&) = delete;
+ NumericThreshold& operator=(NumericThreshold&&) = delete;
void initialize() override;
void sensorUpdated(interfaces::Sensor&, Milliseconds, double) override;
@@ -59,8 +62,11 @@
boost::asio::io_context& ioc) :
timer(ioc), sensorName(sensorNameIn)
{}
+ ~ThresholdDetail() = default;
ThresholdDetail(const ThresholdDetail&) = delete;
+ ThresholdDetail& operator=(const ThresholdDetail&) = delete;
ThresholdDetail(ThresholdDetail&&) = delete;
+ ThresholdDetail& operator=(ThresholdDetail&&) = delete;
const std::string& getSensorName()
{
diff --git a/src/on_change_threshold.hpp b/src/on_change_threshold.hpp
index 91a595f..dd193f2 100644
--- a/src/on_change_threshold.hpp
+++ b/src/on_change_threshold.hpp
@@ -23,8 +23,11 @@
const std::string& triggerId, Sensors sensors,
std::vector<std::unique_ptr<interfaces::TriggerAction>> actions,
std::unique_ptr<interfaces::Clock> clock);
+ ~OnChangeThreshold() = default;
OnChangeThreshold(const OnChangeThreshold&) = delete;
+ OnChangeThreshold& operator=(const OnChangeThreshold&) = delete;
OnChangeThreshold(OnChangeThreshold&&) = delete;
+ OnChangeThreshold& operator=(OnChangeThreshold&&) = delete;
void initialize() override;
void sensorUpdated(interfaces::Sensor&, Milliseconds, double) override;
diff --git a/src/report.hpp b/src/report.hpp
index 2fbd078..73d7f15 100644
--- a/src/report.hpp
+++ b/src/report.hpp
@@ -34,6 +34,10 @@
public:
OnChangeContext(Report& report) : report(report) {}
+ OnChangeContext(const OnChangeContext&) = delete;
+ OnChangeContext& operator=(const OnChangeContext&) = delete;
+ OnChangeContext(OnChangeContext&&) = delete;
+ OnChangeContext& operator=(OnChangeContext&&) = delete;
~OnChangeContext()
{
if (updated)
diff --git a/src/sensor.hpp b/src/sensor.hpp
index 0e6c2c0..ee54eba 100644
--- a/src/sensor.hpp
+++ b/src/sensor.hpp
@@ -22,8 +22,11 @@
boost::asio::io_context& ioc,
const std::shared_ptr<sdbusplus::asio::connection>& bus);
+ ~Sensor() = default;
Sensor(const Sensor&) = delete;
Sensor& operator=(const Sensor&) = delete;
+ Sensor(Sensor&&) = delete;
+ Sensor& operator=(Sensor&&) = delete;
static Id makeId(std::string_view service, std::string_view path);
diff --git a/src/trigger.hpp b/src/trigger.hpp
index c0b2845..e5bfac4 100644
--- a/src/trigger.hpp
+++ b/src/trigger.hpp
@@ -28,6 +28,7 @@
const interfaces::TriggerFactory& triggerFactory,
Sensors sensorsIn);
+ ~Trigger() = default;
Trigger(const Trigger&) = delete;
Trigger(Trigger&&) = delete;
Trigger& operator=(const Trigger&) = delete;
diff --git a/src/trigger_actions.cpp b/src/trigger_actions.cpp
index 5b57abb..1d984e5 100644
--- a/src/trigger_actions.cpp
+++ b/src/trigger_actions.cpp
@@ -108,7 +108,8 @@
double value = std::get<double>(triggerValue);
auto messageId = getRedfishMessageId(value);
- if (messageId == redfish_message_ids::TriggerNumericReadingNormal)
+ if (std::string_view(messageId) ==
+ redfish_message_ids::TriggerNumericReadingNormal)
{
phosphor::logging::log<phosphor::logging::level::INFO>(
"Logging numeric trigger action to Redfish Event Log.",
diff --git a/src/trigger_manager.hpp b/src/trigger_manager.hpp
index 79376c4..a18a72a 100644
--- a/src/trigger_manager.hpp
+++ b/src/trigger_manager.hpp
@@ -19,6 +19,7 @@
std::unique_ptr<interfaces::JsonStorage> triggerStorage,
const std::shared_ptr<sdbusplus::asio::object_server>& objServer);
+ ~TriggerManager() = default;
TriggerManager(const TriggerManager&) = delete;
TriggerManager(TriggerManager&&) = delete;
TriggerManager& operator=(const TriggerManager&) = delete;
diff --git a/src/utils/messanger.hpp b/src/utils/messanger.hpp
index a2a2c22..547e725 100644
--- a/src/utils/messanger.hpp
+++ b/src/utils/messanger.hpp
@@ -16,6 +16,11 @@
context_(service_.create())
{}
+ MessangerT(const MessangerT&) = delete;
+ MessangerT& operator=(const MessangerT&) = delete;
+ MessangerT(MessangerT&&) = delete;
+ MessangerT& operator=(MessangerT&&) = delete;
+
~MessangerT()
{
service_.destroy(context_);