From 5ee15659d86573d6e40c52d05fd18aa89dbd462a Mon Sep 17 00:00:00 2001 From: sungrae jo Date: Fri, 31 Aug 2018 11:34:58 +0900 Subject: [PATCH] Add NULL data check for mgr_get_private_data Change-Id: I22cd412df5e4655c4d5c0f608852d111134e2597 Signed-off-by: sungrae jo --- client/vc_mgr_dbus.c | 7 ++++--- server/vcd_dbus_server.c | 21 ++++++++++++++++++--- server/vcd_engine_agent.c | 16 ++++++++-------- 3 files changed, 30 insertions(+), 14 deletions(-) diff --git a/client/vc_mgr_dbus.c b/client/vc_mgr_dbus.c index 3ee9075..246c59e 100644 --- a/client/vc_mgr_dbus.c +++ b/client/vc_mgr_dbus.c @@ -1561,11 +1561,12 @@ int vc_mgr_dbus_request_get_private_data(int pid, const char* key, char** data) dbus_message_unref(result_msg); if (0 == result) { - if (NULL != data && NULL != temp) { + if (0 == strncmp(temp, "#NULL", 5)) { + *data = NULL; + } else { *data = strdup(temp); - - SLOG(LOG_DEBUG, TAG_VCM, "@@ vc mgr get private data : result = %d private data = %s", result, *data); } + SLOG(LOG_DEBUG, TAG_VCM, "@@ vc mgr get private data : result = %d private data = %s", result, *data); } else { SLOG(LOG_ERROR, TAG_VCM, "@@ vc mgr get private data : result = %d", result); } diff --git a/server/vcd_dbus_server.c b/server/vcd_dbus_server.c index 297ef13..71329a6 100644 --- a/server/vcd_dbus_server.c +++ b/server/vcd_dbus_server.c @@ -588,17 +588,25 @@ int vcd_dbus_server_mgr_get_private_data(DBusConnection* conn, DBusMessage* msg) ret = vcd_server_mgr_get_private_data(pid, key, &data); } + char *temp_data = NULL; + if (NULL == data) { + SLOG(LOG_DEBUG, TAG_VCD, "[Dbus INFO] data parameter is NULL"); + temp_data = strdup("#NULL"); + } else { + temp_data = strdup(data); + } + DBusMessage* reply; reply = dbus_message_new_method_return(msg); if (NULL != reply) { dbus_message_append_args(reply, DBUS_TYPE_INT32, &ret, - DBUS_TYPE_STRING, &data, + DBUS_TYPE_STRING, &temp_data, DBUS_TYPE_INVALID); if (0 == ret) { - SLOG(LOG_DEBUG, TAG_VCD, "[OUT SUCCESS] Result(%d), private data(%s)", ret, data); + SLOG(LOG_DEBUG, TAG_VCD, "[OUT SUCCESS] Result(%d), private data(%s)", ret, temp_data); } else { SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Result(%d)", ret); } @@ -615,7 +623,14 @@ int vcd_dbus_server_mgr_get_private_data(DBusConnection* conn, DBusMessage* msg) SLOG(LOG_DEBUG, TAG_VCD, "@@@"); - if (NULL != data) free(data); + if (NULL != data) { + free(data); + data = NULL; + } + if (NULL != temp_data) { + free(temp_data); + temp_data = NULL; + } return 0; } diff --git a/server/vcd_engine_agent.c b/server/vcd_engine_agent.c index 27aa722..8794ae0 100644 --- a/server/vcd_engine_agent.c +++ b/server/vcd_engine_agent.c @@ -533,8 +533,8 @@ int vcd_engine_get_nlu_base_info(int pid, const char* key, char** value) return VCD_ERROR_OPERATION_FAILED; } } else { - SLOG(LOG_ERROR, TAG_VCD, "[Engine Agent ERROR] Engine is not loaded or There is no nlu_base_info_request callback"); - return VCD_ERROR_OPERATION_FAILED; + SLOG(LOG_ERROR, TAG_VCD, "[Engine Agent INFO] Engine is not loaded or There is no nlu_base_info_request callback"); + return VCD_ERROR_NONE; } return 0; @@ -555,8 +555,8 @@ int vcd_engine_set_private_data(int pid, const char* key, const char* data) return VCD_ERROR_OPERATION_FAILED; } } else { - SLOG(LOG_ERROR, TAG_VCD, "[Engine Agent ERROR] Engine is not loaded or There is no private_data_set callback"); - return VCD_ERROR_OPERATION_FAILED; + SLOG(LOG_ERROR, TAG_VCD, "[Engine Agent INFO] Engine is not loaded or There is no private_data_set callback"); + return VCD_ERROR_NONE; } return 0; @@ -582,8 +582,8 @@ int vcd_engine_get_private_data(int pid, const char* key, char** data) return VCD_ERROR_OPERATION_FAILED; } } else { - SLOG(LOG_ERROR, TAG_VCD, "[Engine Agent ERROR] Engine is not loaded or There is no private_data_request callback"); - return VCD_ERROR_OPERATION_FAILED; + SLOG(LOG_ERROR, TAG_VCD, "[Engine Agent INFO] Engine is not loaded or There is no private_data_request callback"); + return VCD_ERROR_NONE; } return 0; @@ -604,8 +604,8 @@ int vcd_engine_send_specific_engine_request(const char* engine_app_id, const cha return VCD_ERROR_OPERATION_FAILED; } } else { - SLOG(LOG_ERROR, TAG_VCD, "[Engine Agent ERROR] Engine is not loaded or There is no specific_engine_request callback"); - return VCD_ERROR_OPERATION_FAILED; + SLOG(LOG_ERROR, TAG_VCD, "[Engine Agent INFO] Engine is not loaded or There is no specific_engine_request callback"); + return VCD_ERROR_NONE; } return 0; -- 2.7.4