void _release_alarm_info_t();
void on_bus_name_owner_changed(GDBusConnection *connection, const gchar *sender_name, const gchar *object_path,
const gchar *interface_name, const gchar *signal_name, GVariant *parameters, gpointer user_data);
-bool __get_caller_unique_name(int pid, char *unique_name, bool *is_app, uid_t uid);
+bool __get_caller_unique_name(int pid, char *unique_name, int size, bool *is_app, uid_t uid);
static int __db_busyhandler(void *pData, int count);
#ifdef _APPFW_FEATURE_ALARM_MANAGER_MODULE_LOG
return saved;
}
-static bool __get_cached_unique_name(int pid, char *unique_name, bool *is_app, uid_t uid)
+static bool __get_cached_unique_name(int pid, char *unique_name, int size, bool *is_app, uid_t uid)
{
appid_cache_t *data = NULL;
data = (appid_cache_t *)g_hash_table_lookup(appid_cache_table, &pid);
}
ALARM_MGR_LOG_PRINT("There is no cached unique_name for pid(%d)", pid);
- return __get_caller_unique_name(pid, unique_name, is_app, uid);
+ return __get_caller_unique_name(pid, unique_name, size, is_app, uid);
}
gboolean __hash_table_remove_cb(gpointer key, gpointer value, gpointer user_data)
if (ret == -1) {
ALARM_MGR_EXCEPTION_PRINT("ALARM_SET_RTC ioctl is failed. errno = %s", strerror_r(errno, buf, sizeof(buf)));
#ifdef _APPFW_FEATURE_ALARM_MANAGER_MODULE_LOG
- strncpy(log_tag, "FAIL: SET RTC", strlen("FAIL: SET RTC"));
+ strncpy(log_tag, "FAIL: SET RTC", sizeof(log_tag) - 1);
#endif
perror("\t");
}
#ifdef _APPFW_FEATURE_ALARM_MANAGER_MODULE_LOG
else
- strncpy(log_tag, "SET RTC", strlen("SET RTC"));
+ strncpy(log_tag, "SET RTC", sizeof(log_tag) - 1);
char *timebuf = ctime(&_time);
if (timebuf) {
__alarm_info->requested_interval = requested_interval;
__alarm_info->global = false;
- if (__get_cached_unique_name(pid, app_name, &caller_is_app, uid) == false) {
+ if (__get_cached_unique_name(pid, app_name, sizeof(app_name), &caller_is_app, uid) == false) {
*error_code = ERR_ALARM_SYSTEM_FAIL;
_release_alarm_info_t(__alarm_info);
return false;
__alarm_info->is_ref = is_ref;
__alarm_info->global = false;
- if (__get_cached_unique_name(pid, unique_name, &caller_is_app, uid) == false) {
+ if (__get_cached_unique_name(pid, unique_name, sizeof(unique_name),
+ &caller_is_app, uid) == false) {
*error_code = ERR_ALARM_SYSTEM_FAIL;
_release_alarm_info_t(__alarm_info);
return false;
__alarm_info->requested_interval = requested_interval;
__alarm_info->global = false;
- if (__get_cached_unique_name(pid, app_name, &caller_is_app, uid) == false) {
+ if (__get_cached_unique_name(pid, app_name, sizeof(app_name), &caller_is_app, uid) == false) {
*error_code = ERR_ALARM_SYSTEM_FAIL;
_release_alarm_info_t(__alarm_info);
return false;
if (__can_skip_expired_cb(alarm_id))
return;
- memcpy(service_name, app_service_name, strlen(app_service_name));
+ strncpy(service_name, app_service_name, sizeof(service_name) - 1);
SECURE_LOGI("[alarm server][send expired_alarm(alarm_id=%d) to app_service_name(%s)]", alarm_id, service_name);
if (uid >= REGULAR_UID_MIN) {
if (__alarm_info->dst_service_name == NULL) {
if (__alarm_info->app_service_name != NULL && strlen(__alarm_info->app_service_name) > 6)
- strncpy(appid, __alarm_info->app_service_name + 6, strlen(__alarm_info->app_service_name) - 6);
+ strncpy(appid, __alarm_info->app_service_name + 6, sizeof(appid) - 1);
} else {
if (strlen(__alarm_info->dst_service_name) > 6)
- strncpy(appid, __alarm_info->dst_service_name + 6, strlen(__alarm_info->dst_service_name) - 6);
+ strncpy(appid, __alarm_info->dst_service_name + 6, sizeof(appid) - 1);
}
ret = pkgmgrinfo_appinfo_get_usr_appinfo(appid, __alarm_info->uid, &appinfo_handle);
return ALARMMGR_RESULT_SUCCESS;
}
-bool __get_caller_unique_name(int pid, char *unique_name, bool *is_app, uid_t uid)
+bool __get_caller_unique_name(int pid, char *unique_name, int size, bool *is_app, uid_t uid)
{
char caller_appid[256] = {0,};
appid_cache_t* entry;
/* When a caller is an application, the unique name is appID. */
if (is_app)
*is_app = true;
- strncpy(unique_name, caller_appid, strlen(caller_appid));
+ strncpy(unique_name, caller_appid, size - 1);
} else {
/* Otherwise, the unique name is /proc/pid/cmdline. */
char proc_file[512] = {0,};
}
++i;
}
- strncpy(unique_name, process_name, strlen(process_name));
+ strncpy(unique_name, process_name, size - 1);
}
}
ALARM_MGR_EXCEPTION_PRINT("RTC ALARM_SET ioctl is failed. errno = %s", strerror_r(errno, buf, sizeof(buf)));
return_code = ERR_ALARM_SYSTEM_FAIL;
#ifdef _APPFW_FEATURE_ALARM_MANAGER_MODULE_LOG
- strncpy(log_tag, "FAIL: SET RTC", strlen("FAIL: SET RTC"));
+ strncpy(log_tag, "FAIL: SET RTC", sizeof(log_tag) - 1);
#endif
} else {
ALARM_MGR_LOG_PRINT("[alarm-server]RTC alarm is setted");
#ifdef _APPFW_FEATURE_ALARM_MANAGER_MODULE_LOG
- strncpy(log_tag, "SET RTC", strlen("SET RTC"));
+ strncpy(log_tag, "SET RTC", sizeof(log_tag) - 1);
#endif
}
g_dbus_method_invocation_return_value(invoc, g_variant_new("(i)", return_code));
#ifdef _APPFW_FEATURE_ALARM_MANAGER_MODULE_LOG
if (return_code == ALARMMGR_RESULT_SUCCESS)
- strncpy(log_tag, "SET TIMEZONE", strlen("SET TIMEZONE"));
+ strncpy(log_tag, "SET TIMEZONE", sizeof(log_tag) - 1);
else
- strncpy(log_tag, "FAIL: SET TIMEZONE", strlen("FAIL: SET TIMEZONE"));
+ strncpy(log_tag, "FAIL: SET TIMEZONE", sizeof(log_tag) - 1);
snprintf(log_message, sizeof(log_message), "Set the timezone to %s.", tzpath_str);
__save_module_log(log_tag, log_message);
if (!__alarm_create_appsvc(&alarm_info, &alarm_id, mode_interval, uid, pid, bundle_data, &return_code)) {
ALARM_MGR_EXCEPTION_PRINT("Unable to create alarm! return_code[%d]", return_code);
#ifdef _APPFW_FEATURE_ALARM_MANAGER_MODULE_LOG
- strncpy(log_tag, "FAIL: CREATE", strlen("FAIL: CREATE"));
+ strncpy(log_tag, "FAIL: CREATE", sizeof(log_tag) - 1);
#endif
ret = false;
} else {
#ifdef _APPFW_FEATURE_ALARM_MANAGER_MODULE_LOG
- strncpy(log_tag, "CREATE", strlen("CREATE"));
+ strncpy(log_tag, "CREATE", sizeof(log_tag) - 1);
#endif
}
if (!__alarm_create_noti(&alarm_info, &alarm_id, mode_interval, uid, pid, noti_data, &return_code)) {
ALARM_MGR_EXCEPTION_PRINT("Unable to create alarm! return_code[%d]", return_code);
#ifdef _APPFW_FEATURE_ALARM_MANAGER_MODULE_LOG
- strncpy(log_tag, "FAIL: CREATE", strlen("FAIL: CREATE"));
+ strncpy(log_tag, "FAIL: CREATE", sizeof(log_tag) - 1);
#endif
ret = false;
} else {
#ifdef _APPFW_FEATURE_ALARM_MANAGER_MODULE_LOG
- strncpy(log_tag, "CREATE", strlen("CREATE"));
+ strncpy(log_tag, "CREATE", sizeof(log_tag) - 1);
#endif
}
_reserved_service_name, _reserved_service_name_mod, &return_code)) {
ALARM_MGR_EXCEPTION_PRINT("Unable to create alarm! return_code[%d]", return_code);
#ifdef _APPFW_FEATURE_ALARM_MANAGER_MODULE_LOG
- strncpy(log_tag, "FAIL: CREATE", strlen("FAIL: CREATE"));
+ strncpy(log_tag, "FAIL: CREATE", sizeof(log_tag) - 1);
#endif
ret = false;
} else {
#ifdef _APPFW_FEATURE_ALARM_MANAGER_MODULE_LOG
- strncpy(log_tag, "CREATE", strlen("CREATE"));
+ strncpy(log_tag, "CREATE", sizeof(log_tag) - 1);
#endif
}
NULL, NULL, &return_code)) {
ALARM_MGR_EXCEPTION_PRINT("Unable to create alarm! return_code[%d]", return_code);
#ifdef _APPFW_FEATURE_ALARM_MANAGER_MODULE_LOG
- strncpy(log_tag, "FAIL: CREATE", strlen("FAIL: CREATE"));
+ strncpy(log_tag, "FAIL: CREATE", sizeof(log_tag) - 1);
#endif
ret = false;
} else {
#ifdef _APPFW_FEATURE_ALARM_MANAGER_MODULE_LOG
- strncpy(log_tag, "CREATE", strlen("CREATE"));
+ strncpy(log_tag, "CREATE", sizeof(log_tag) - 1);
#endif
ret = true;
}
if (!__alarm_delete(uid, alarm_id, &return_code)) {
ALARM_MGR_EXCEPTION_PRINT("Unable to delete the alarm! alarm_id[%d], return_code[%d]", alarm_id, return_code);
#ifdef _APPFW_FEATURE_ALARM_MANAGER_MODULE_LOG
- strncpy(log_tag, "FAIL: DELETE", strlen("FAIL: DELETE"));
+ strncpy(log_tag, "FAIL: DELETE", sizeof(log_tag) - 1);
#endif
ret = false;
} else {
ALARM_MGR_LOG_PRINT("alarm_id[%d] is removed.", alarm_id);
#ifdef _APPFW_FEATURE_ALARM_MANAGER_MODULE_LOG
- strncpy(log_tag, "DELETE", strlen("DELETE"));
+ strncpy(log_tag, "DELETE", sizeof(log_tag) - 1);
#endif
}
return true;
}
- if (__get_cached_unique_name(pid, app_name, NULL, uid) == false) {
+ if (__get_cached_unique_name(pid, app_name, sizeof(app_name), NULL, uid) == false) {
return_code = ERR_ALARM_SYSTEM_FAIL;
g_dbus_method_invocation_return_value(invoc, g_variant_new("(i)", return_code));
#ifdef _APPFW_FEATURE_ALARM_MANAGER_MODULE_LOG
update_flag, &return_code)) {
ALARM_MGR_EXCEPTION_PRINT("Unable to update the alarm! alarm_id[%d], return_code[%d]", alarm_id, return_code);
#ifdef _APPFW_FEATURE_ALARM_MANAGER_MODULE_LOG
- strncpy(log_tag, "FAIL: UPDATE", strlen("FAIL: UPDATE"));
+ strncpy(log_tag, "FAIL: UPDATE", sizeof(log_tag) - 1);
#endif
ret = false;
} else {
#ifdef _APPFW_FEATURE_ALARM_MANAGER_MODULE_LOG
- strncpy(log_tag, "UPDATE", strlen("UPDATE"));
+ strncpy(log_tag, "UPDATE", sizeof(log_tag) - 1);
#endif
}
return true;
}
- if (__get_cached_unique_name(pid, app_name, NULL, uid) == false) {
+ if (__get_cached_unique_name(pid, app_name, sizeof(app_name), NULL, uid) == false) {
return_code = ERR_ALARM_SYSTEM_FAIL;
g_dbus_method_invocation_return_value(invoc, g_variant_new("(ii)", num_of_ids, return_code));
return true;
return true;
}
- if (__get_cached_unique_name(pid, app_name, NULL, uid) == false) {
+ if (__get_cached_unique_name(pid, app_name, sizeof(app_name), NULL, uid) == false) {
return_code = ERR_ALARM_SYSTEM_FAIL;
g_dbus_method_invocation_return_value(invoc, g_variant_new("(@aiii)", g_variant_new("ai", NULL), num_of_ids, return_code));
return true;