summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjacobkeeler <jacob.keeler@livioradio.com>2018-03-06 14:29:02 -0500
committerjacobkeeler <jacob.keeler@livioradio.com>2018-03-06 14:50:17 -0500
commitc57273b17be86205899846ca760a78d291c9b1e6 (patch)
treeb53069822967452fd9e192da7556579e3b673141
parentd0cda889ed6c67a18f377bfe7cfbfdde5c9c406e (diff)
downloadsdl_core-fix/dbus_wild_pointer.tar.gz
Fix wild pointer in dbus adapterfix/dbus_wild_pointer
-rw-r--r--src/components/dbus/src/dbus_adapter.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/components/dbus/src/dbus_adapter.cc b/src/components/dbus/src/dbus_adapter.cc
index a46e8e8167..33d05a728b 100644
--- a/src/components/dbus/src/dbus_adapter.cc
+++ b/src/components/dbus/src/dbus_adapter.cc
@@ -518,7 +518,8 @@ bool DBusAdapter::SetValue(
dbus_int32_t integerValue = 0;
double floatValue = 0;
dbus_bool_t booleanValue = false;
- const char* stringValue;
+ std::string stringValue;
+ const char* cStringValue;
switch (rules->type) {
case ford_message_descriptions::ParameterType::Array:
return SetArrayValue(
@@ -552,8 +553,9 @@ bool DBusAdapter::SetValue(
break;
case ford_message_descriptions::ParameterType::String:
type = DBUS_TYPE_STRING;
- stringValue = param.asString().c_str();
- value = &stringValue;
+ stringValue = param.asString();
+ cStringValue = stringValue.c_str();
+ value = &cStringValue;
break;
default:
LOG4CXX_ERROR(logger_, "DBus: Unknown type of argument");