Fixed to using a pointer to internal buffer of dead string. 28/141928/2
authorSegwon <segwon.han@samsung.com>
Wed, 2 Aug 2017 04:36:46 +0000 (13:36 +0900)
committerSegwon <segwon.han@samsung.com>
Wed, 2 Aug 2017 04:51:29 +0000 (13:51 +0900)
Signed-off-by: Segwon <segwon.han@samsung.com>
Change-Id: Ia62ec01313405d6733c218646c50a7b7eca18fc7

lib/conv_lib.cpp
lib/conv_lib_acl.cpp

index 7f76bf5ccbc1cbd5afc9c0fde827d468c0f6a981..07f540e0e0cfc4de4becee4de2bce35eb22e05a8 100755 (executable)
@@ -116,8 +116,11 @@ EXTAPI int conv_discovery_start(conv_h handle, const int timeout_seconds, conv_d
        input_data.set(NULL, "timeout", timeout_seconds);
 
        int req_id;
-       const char* input = const_cast<const char*> (input_data.str().c_str());
+
+       char* input = input_data.dupCstr();
        _D("input:%s", input);
+       g_free(input);
+
        int err = conv::dbus_client::request(REQ_WRITE, &req_id, CONV_SUBJECT_DISCOVERY_START, input_data.str().c_str(), 0, NULL);
        IF_FAIL_RETURN_TAG(err == CONV_ERROR_NONE, err, _E, "Failed in starting flow service");
 
index d0d935375cc318d07c512c1a80f7b5a7719516d8..04c7601f20747f170bfb413e1d8eb7822c617bc5 100644 (file)
@@ -30,8 +30,10 @@ EXTAPI int conv_internal_regist_acl_device(char *mac_address, char *device_type,
        input_data.set(NULL, CONV_JSON_ACCESS_CONTROL_STATE, access_control_state);
 
        int req_id;
-       const char* input = const_cast<const char*> (input_data.str().c_str());
+
+       char* input = input_data.dupCstr();
        _D("input:%s", input);
+       g_free(input);
 
        int err = conv::dbus_client::request(REQ_WRITE, &req_id, CONV_SUBJECT_ACCESS_CONTROL_REGIST, input_data.str().c_str(), 0, NULL);
        IF_FAIL_RETURN_TAG(err == CONV_ERROR_NONE, err, _E, "Failed in conv_internal_regist_acl_device()");
@@ -48,8 +50,10 @@ EXTAPI int conv_internal_set_acl_state(char *mac_address, char *device_type, cha
        input_data.set(NULL, CONV_JSON_ACCESS_CONTROL_STATE, access_control_state);
 
        int req_id;
-       const char* input = const_cast<const char*> (input_data.str().c_str());
+
+       char* input = input_data.dupCstr();
        _D("input:%s", input);
+       g_free(input);
 
        int err = conv::dbus_client::request(REQ_WRITE, &req_id, CONV_SUBJECT_ACCESS_CONTROL_SET, input_data.str().c_str(), 0, NULL);
        IF_FAIL_RETURN_TAG(err == CONV_ERROR_NONE, err, _E, "Failed in conv_internal_set_acl_state()");
@@ -63,8 +67,10 @@ EXTAPI int conv_internal_remove_acl_device(char *mac_address)
        input_data.set(NULL, CONV_JSON_DEVICE_ID, mac_address);
 
        int req_id;
-       const char* input = const_cast<const char*> (input_data.str().c_str());
+
+       char* input = input_data.dupCstr();
        _D("input:%s", input);
+       g_free(input);
 
        int err = conv::dbus_client::request(REQ_WRITE, &req_id, CONV_SUBJECT_ACCESS_CONTROL_REMOVE, input_data.str().c_str(), 0, NULL);
        IF_FAIL_RETURN_TAG(err == CONV_ERROR_NONE, err, _E, "Failed in conv_internal_remove_acl_device())");