summaryrefslogtreecommitdiffstats
path: root/src/configuration.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/configuration.cpp')
-rw-r--r--src/configuration.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/configuration.cpp b/src/configuration.cpp
index 32cb00c..8a50cbc 100644
--- a/src/configuration.cpp
+++ b/src/configuration.cpp
@@ -114,7 +114,9 @@ diagnostic_message_t* configuration_t::get_diagnostic_message(std::string messag
{
std::vector<diagnostic_message_t*> found;
configuration_t::instance().find_diagnostic_messages(build_DynamicField(message_name), found);
- return found.front();
+ if(! found.empty())
+ return found.front();
+ return nullptr;
}
DiagnosticRequest* configuration_t::get_request_from_diagnostic_message(diagnostic_message_t* diag_msg) const
@@ -124,7 +126,10 @@ DiagnosticRequest* configuration_t::get_request_from_diagnostic_message(diagnost
DiagnosticRequest* configuration_t::get_request_from_diagnostic_message(std::string message_name) const
{
- return new DiagnosticRequest(get_diagnostic_message(message_name)->build_diagnostic_request());
+ diagnostic_message_t* diag_msg = get_diagnostic_message(message_name);
+ if( diag_msg != nullptr)
+ return new DiagnosticRequest(diag_msg->build_diagnostic_request());
+ return nullptr;
}
/// @brief return signals name found searching through CAN signals list.