Attn: Code cleanup based on local CI build output
Modified code based on recommendations from local CI build. Cleaned up
some potential null pointer dereferencing code.
Signed-off-by: Ben Tyner <ben.tyner@ibm.com>
Change-Id: I17fb40b25ce37627627c5112a6be786e2bac7c1f
diff --git a/attn/attn_handler.cpp b/attn/attn_handler.cpp
index 747f9d6..f8d0a21 100644
--- a/attn/attn_handler.cpp
+++ b/attn/attn_handler.cpp
@@ -74,7 +74,7 @@
// The processor FSI target is required for CFAM read
char path[16];
- sprintf(path, "/proc%d/fsi", proc);
+ sprintf(path, "/proc%d/fsi", (int)proc);
pdbg_target* attnTarget = pdbg_target_from_path(nullptr, path);
if (PDBG_TARGET_ENABLED == pdbg_target_probe(attnTarget))
@@ -90,7 +90,7 @@
}
else
{
- std::stringstream ss; // log message stream
+ ss.str(std::string()); // clear stream
ss << "cfam 0x1007 = 0x";
ss << std::hex << std::setw(8) << std::setfill('0');
ss << isr_val;
@@ -111,7 +111,7 @@
// corresponding to attentions that can generate an
// attention interrupt.
- std::stringstream ss; // log message stream
+ ss.str(std::string()); // clear stream
ss << "cfam 0x100d = 0x";
ss << std::hex << std::setw(8) << std::setfill('0');
ss << isr_mask;
diff --git a/attn/attn_logging.cpp b/attn/attn_logging.cpp
index d802437..014fc96 100644
--- a/attn/attn_logging.cpp
+++ b/attn/attn_logging.cpp
@@ -68,7 +68,7 @@
i_additional, ffdcTuples);
// log the event
- auto reply = bus.call(method);
+ bus.call_noreply(method);
}
}
diff --git a/attn/ti_handler.cpp b/attn/ti_handler.cpp
index eee3553..6c3f26c 100644
--- a/attn/ti_handler.cpp
+++ b/attn/ti_handler.cpp
@@ -243,6 +243,10 @@
void parseRawTiInfo(std::map<std::string, std::string>& i_map,
TiDataArea* i_buffer)
{
+ if (nullptr == i_buffer)
+ {
+ return;
+ }
uint32_t* tiDataArea = (uint32_t*)i_buffer;
std::stringstream ss;
@@ -269,6 +273,11 @@
void parsePhypOpalTiInfo(std::map<std::string, std::string>& i_map,
TiDataArea* i_tiDataArea)
{
+ if (nullptr == i_tiDataArea)
+ {
+ return;
+ }
+
std::stringstream ss;
ss << std::hex << std::showbase;
@@ -317,6 +326,11 @@
void parseHbTiInfo(std::map<std::string, std::string>& i_map,
TiDataArea* i_tiDataArea)
{
+ if (nullptr == i_tiDataArea)
+ {
+ return;
+ }
+
std::stringstream ss;
ss << std::hex << std::showbase;
diff --git a/listener.cpp b/listener.cpp
index 5360d81..9d3a05a 100644
--- a/listener.cpp
+++ b/listener.cpp
@@ -14,13 +14,6 @@
/** @brief end of command line args message */
static const char* msg_send_end = "999999999999999";
-/** @brief structure for holding main args (for threads) */
-typedef struct
-{
- int argc;
- char** argv;
-} MainArgs_t;
-
/**
* @brief Start a thread to monitor the attention GPIO
*
@@ -89,10 +82,8 @@
// convert messages to command line arguments
std::vector<char*> argv;
- for (const auto& arg : messages)
- {
- argv.push_back((char*)arg.data());
- }
+ std::transform(messages.begin(), messages.end(),
+ std::back_inserter(argv), (char*)data());
int argc = argv.size();
argv.push_back(nullptr);