Cause: A buffer overflow occurs because 4 bytes access occurs
when the value is changeed as it is converted to (int*)
even though it is set as 1 byte pool variable.
Soluetion: Use bool* instead of int* is_system_cmd_valid.
This issue is described on code.sec.samsung.net/jira/browse/TSEVEN-2604
Change-Id: I4d8dae44234d4879b99c75296244018b45e85e69
return VCD_ERROR_NONE;
}
-int vcd_server_is_system_command_valid(int pid, int* is_sys_cmd_valid)
+int vcd_server_is_system_command_valid(int pid, bool* is_sys_cmd_valid)
{
/* check if pid is valid */
if (false == vcd_client_is_available(pid) && false == vcd_client_widget_is_available(pid)) {
int vcd_server_dialog(int pid, const char* disp_text, const char* utt_text, int continuous);
-int vcd_server_is_system_command_valid(int pid, int* is_sys_cmd_valid);
+int vcd_server_is_system_command_valid(int pid, bool* is_sys_cmd_valid);
#if 0
int vcd_server_set_exclusive_command(int pid, bool value);
int ret = VCD_ERROR_OPERATION_FAILED;
- ret = vcd_server_is_system_command_valid(pid, (int*)is_sys_cmd_valid);
+ ret = vcd_server_is_system_command_valid(pid, is_sys_cmd_valid);
if (VCD_ERROR_NONE == ret) {
SLOG(LOG_INFO, TAG_VCD, "[IN] vcd check system command is valid : pid(%d), is_sys_cmd_valid(%d)", pid, *is_sys_cmd_valid);
} else {