Refactor: Fix issues found by cppcheck
Resolve several issues found by cppcheck:
[msl_verify.hpp:28]: (style) Class 'MinimumShipLevel' has a constructor with 1 argument that is not explicit.
[ubi/watch.hpp:21]: (warning) Assignment of function parameter has no effect outside the function. Did you forget dereferencing it?
[item_updater_main.cpp:22] -> [item_updater_main.cpp:49]: (style) Local variable rc shadows outer symbol
[serialize.cpp:19]: (performance) Function parameter 'versionId' should be passed by const reference.
[ubi/watch.hpp:43]: (style) Struct 'CustomFd' has a constructor with 1 argument that is not explicit.
[serialize.cpp:52]: (performance) Function parameter 'versionId' should be passed by const reference.
[serialize.cpp:116]: (performance) Function parameter 'versionId' should be passed by const reference.
[activation.cpp:115] -> [activation.cpp:152]: (style) Local variable mapperResponseMsg shadows outer symbol
[version.hpp:114]: (performance) Variable 'eraseCallback' is assigned in constructor body. Consider performing initialization in initialization list.
[image_verify.hpp:53]: (style) Struct 'CustomFd' has a constructor with 1 argument that is not explicit.
[ubi/item_updater_ubi.cpp:192]: (performance) Function parameter 'versionId' should be passed by const reference.
[ubi/item_updater_ubi.cpp:203]: (performance) Function parameter 'versionId' should be passed by const reference.
Tested: Verify the code compiles and cppcheck does not report the above
issues.
Change-Id: I096392a2a7a283fe198c9c29185125e61295e10f
Signed-off-by: Lei YU <mine260309@gmail.com>
diff --git a/activation.cpp b/activation.cpp
index ff48326..1a64fcc 100644
--- a/activation.cpp
+++ b/activation.cpp
@@ -143,7 +143,7 @@
deleteInterface, "Delete");
try
{
- auto mapperResponseMsg = bus.call(method);
+ mapperResponseMsg = bus.call(method);
// Check that the bus call didn't result in an error
if (mapperResponseMsg.is_method_error())
diff --git a/image_verify.hpp b/image_verify.hpp
index 768182e..31b5742 100644
--- a/image_verify.hpp
+++ b/image_verify.hpp
@@ -50,7 +50,7 @@
*
* @param[in] fd - File descriptor
*/
- CustomFd(int fd) : fd(fd)
+ explicit CustomFd(int fd) : fd(fd)
{
}
diff --git a/item_updater_main.cpp b/item_updater_main.cpp
index 9ba705b..1792ad4 100644
--- a/item_updater_main.cpp
+++ b/item_updater_main.cpp
@@ -46,7 +46,7 @@
&updater, std::placeholders::_1));
#endif
bus.attach_event(loop, SD_EVENT_PRIORITY_NORMAL);
- auto rc = sd_event_loop(loop);
+ rc = sd_event_loop(loop);
if (rc < 0)
{
log<level::ERR>("Error occurred during the sd_event_loop",
diff --git a/msl_verify.hpp b/msl_verify.hpp
index 59f4017..d3015d9 100644
--- a/msl_verify.hpp
+++ b/msl_verify.hpp
@@ -25,7 +25,7 @@
/** @brief Constructs MinimumShipLevel.
* @param[in] minShipLevel - Minimum Ship Level string
*/
- MinimumShipLevel(const std::string& minShipLevel) :
+ explicit MinimumShipLevel(const std::string& minShipLevel) :
minShipLevel(minShipLevel){};
/** @brief Verify if the current PNOR version meets the min ship level
diff --git a/ubi/item_updater_ubi.cpp b/ubi/item_updater_ubi.cpp
index cf8ffe0..83a514d 100644
--- a/ubi/item_updater_ubi.cpp
+++ b/ubi/item_updater_ubi.cpp
@@ -189,7 +189,7 @@
}
}
-void ItemUpdaterUbi::removeReadOnlyPartition(std::string versionId)
+void ItemUpdaterUbi::removeReadOnlyPartition(const std::string& versionId)
{
auto serviceFile = "obmc-flash-bios-ubiumount-ro@" + versionId + ".service";
@@ -200,7 +200,7 @@
bus.call_noreply(method);
}
-void ItemUpdaterUbi::removeReadWritePartition(std::string versionId)
+void ItemUpdaterUbi::removeReadWritePartition(const std::string& versionId)
{
auto serviceFile = "obmc-flash-bios-ubiumount-rw@" + versionId + ".service";
diff --git a/ubi/item_updater_ubi.hpp b/ubi/item_updater_ubi.hpp
index fb6a6ca..183daac 100644
--- a/ubi/item_updater_ubi.hpp
+++ b/ubi/item_updater_ubi.hpp
@@ -96,14 +96,14 @@
*
* @param[in] versionId - The id of the ro partition to remove.
*/
- void removeReadOnlyPartition(std::string versionId);
+ void removeReadOnlyPartition(const std::string& versionId);
/** @brief Clears read write PNOR partition for
* given Activation D-Bus object
*
* @param[in] versionId - The id of the rw partition to remove.
*/
- void removeReadWritePartition(std::string versionId);
+ void removeReadWritePartition(const std::string& versionId);
/** @brief Clears preserved PNOR partition */
void removePreservedPartition();
diff --git a/ubi/serialize.cpp b/ubi/serialize.cpp
index 7250a00..a40925a 100644
--- a/ubi/serialize.cpp
+++ b/ubi/serialize.cpp
@@ -16,7 +16,7 @@
namespace fs = std::experimental::filesystem;
-void storeToFile(std::string versionId, uint8_t priority)
+void storeToFile(const std::string& versionId, uint8_t priority)
{
auto bus = sdbusplus::bus::new_default();
@@ -49,7 +49,7 @@
bus.call_noreply(method);
}
-bool restoreFromFile(std::string versionId, uint8_t& priority)
+bool restoreFromFile(const std::string& versionId, uint8_t& priority)
{
auto varPath = PERSIST_DIR + versionId;
if (fs::exists(varPath))
@@ -113,7 +113,7 @@
return false;
}
-void removeFile(std::string versionId)
+void removeFile(const std::string& versionId)
{
auto bus = sdbusplus::bus::new_default();
diff --git a/ubi/serialize.hpp b/ubi/serialize.hpp
index e8860f3..e5fefad 100644
--- a/ubi/serialize.hpp
+++ b/ubi/serialize.hpp
@@ -13,19 +13,19 @@
* @param[in] versionId - The version for which to store information.
* @param[in] priority - RedundancyPriority value for that version.
*/
-void storeToFile(std::string versionId, uint8_t priority);
+void storeToFile(const std::string& versionId, uint8_t priority);
/** @brief Serialization function - restores activation information from file
* @param[in] versionId - The version for which to retrieve information.
* @param[in] priority - RedundancyPriority pointer for that version.
* @return true if restore was successful, false if not
*/
-bool restoreFromFile(std::string versionId, uint8_t& priority);
+bool restoreFromFile(const std::string& versionId, uint8_t& priority);
/** @brief Removes the serial file for a given version.
* @param[in] versionId - The version for which to remove a file, if it exists.
*/
-void removeFile(std::string versionId);
+void removeFile(const std::string& versionId);
} // namespace updater
} // namespace software
diff --git a/ubi/watch.hpp b/ubi/watch.hpp
index a04967e..4d195a3 100644
--- a/ubi/watch.hpp
+++ b/ubi/watch.hpp
@@ -18,7 +18,7 @@
{
void operator()(sd_event_source* eventSource) const
{
- eventSource = sd_event_source_unref(eventSource);
+ sd_event_source_unref(eventSource);
}
};
using EventSourcePtr = std::unique_ptr<sd_event_source, EventSourceDeleter>;
@@ -40,7 +40,7 @@
*
* @param[in] fd - File descriptor
*/
- CustomFd(int fd) : fd(fd)
+ explicit CustomFd(int fd) : fd(fd)
{
}
diff --git a/version.hpp b/version.hpp
index 831b201..13f772f 100644
--- a/version.hpp
+++ b/version.hpp
@@ -99,8 +99,8 @@
const std::string& versionString, VersionPurpose versionPurpose,
const std::string& filePath, eraseFunc callback) :
VersionInherit(bus, (objPath).c_str(), true),
- bus(bus), objPath(objPath), parent(parent), versionId(versionId),
- versionStr(versionString),
+ eraseCallback(callback), bus(bus), objPath(objPath), parent(parent),
+ versionId(versionId), versionStr(versionString),
chassisStateSignals(
bus,
sdbusRule::type::signal() + sdbusRule::member("PropertiesChanged") +
@@ -110,8 +110,6 @@
std::bind(std::mem_fn(&Version::updateDeleteInterface), this,
std::placeholders::_1))
{
- // Bind erase method
- eraseCallback = callback;
// Set properties.
purpose(versionPurpose);
version(versionString);