if (pid == tid) {
fd = open("/proc/self/attr/current", O_RDONLY);
} else {
+ /* LCOV_EXCL_START */
// Check current thread smack label.
char path[256] = { 0 };
pid = tid;
snprintf(path, sizeof(path), "/proc/%d/attr/current", tid);
fd = open(path, O_RDONLY);
+ /* LCOV_EXCL_STOP */
}
if (fd < 0) {
+ /* LCOV_EXCL_START */
LOGE("open failed: %d", errno);
return PACKAGE_MANAGER_ERROR_IO_ERROR;
+ /* LCOV_EXCL_STOP */
}
ret = read(fd, subject_label, MAX_SMACK_LABEL_LEN);
if (ret < 0) {
+ /* LCOV_EXCL_START */
LOGE("read failed: %d", errno);
close(fd);
return PACKAGE_MANAGER_ERROR_IO_ERROR;
+ /* LCOV_EXCL_STOP */
}
close(fd);
pthread_mutex_lock(&__mutex);
ret = cynara_initialize(&p_cynara, NULL);
if (ret != CYNARA_API_SUCCESS) {
+ /* LCOV_EXCL_START */
LOGE("init cynara failed: %d", ret);
pthread_mutex_unlock(&__mutex);
return PACKAGE_MANAGER_ERROR_IO_ERROR;
+ /* LCOV_EXCL_STOP */
}
snprintf(uid, 10, "%d", getuid());
case PRIVILEGE_PACKAGE_MANAGER_INFO:
privilege = "http://tizen.org/privilege/packagemanager.info";
break;
+ /* LCOV_EXCL_START */
case PRIVILEGE_PACKAGE_MANAGER_ADMIN:
privilege = "http://tizen.org/privilege/packagemanager.admin";
break;
+ /* LCOV_EXCL_STOP */
case PRIVILEGE_PACKAGE_MANAGER_CACHE:
privilege =
"http://tizen.org/privilege/packagemanager.clearcache";
break;
+ /* LCOV_EXCL_START */
default:
privilege = NULL;
break;
+ /* LCOV_EXCL_STOP */
}
ret = cynara_check(p_cynara, subject_label, session, uid, privilege);
pthread_mutex_unlock(&__mutex);
if (ret != CYNARA_API_ACCESS_ALLOWED) {
+ /* LCOV_EXCL_START */
LOGE("cynara access check failed: %d", ret);
return PACKAGE_MANAGER_ERROR_PERMISSION_DENIED;
+ /* LCOV_EXCL_STOP */
}
return PACKAGE_MANAGER_ERROR_NONE;
return "NONE";
case PACKAGE_MANAGER_ERROR_INVALID_PARAMETER:
return "INVALID_PARAMETER";
+ /* LCOV_EXCL_START */
case PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY:
return "OUT_OF_MEMORY";
+ /* LCOV_EXCL_STOP */
case PACKAGE_MANAGER_ERROR_IO_ERROR:
return "IO_ERROR";
case PACKAGE_MANAGER_ERROR_NO_SUCH_PACKAGE:
return "NO_SUCH_PACKAGE";
+ /* LCOV_EXCL_START */
case PACKAGE_MANAGER_ERROR_PERMISSION_DENIED:
return "PERMISSION_DENIED";
case PACKAGE_MANAGER_ERROR_SYSTEM_ERROR:
return "SEVERE_SYSTEM_ERROR";
default:
return "UNKNOWN";
+ /* LCOV_EXCL_STOP */
}
}
return PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY;
case PKGMGR_R_EIO:
return PACKAGE_MANAGER_ERROR_IO_ERROR;
+ /* LCOV_EXCL_START */
default:
_LOGE("Unexpected error");
return PACKAGE_MANAGER_ERROR_SYSTEM_ERROR;
+ /* LCOV_EXCL_STOP */
}
}
const char *function, const char *description)
{
if (description) {
+ /* LCOV_EXCL_START */
_LOGE("[%s] %s(0x%08x) : %s", function,
package_manager_error_to_string(error), error,
description);
+ /* LCOV_EXCL_STOP */
} else {
_LOGE("[%s] %s(0x%08x)", function,
package_manager_error_to_string(error), error);
int ret;
if (handle == NULL || foreach_pkg_context == NULL) {
+ /* LCOV_EXCL_START */
package_manager_error(PACKAGE_MANAGER_ERROR_INVALID_PARAMETER, __FUNCTION__, NULL);
return PMINFO_R_EINVAL;
+ /* LCOV_EXCL_STOP */
}
ret = package_info_create_with_pkginfo(handle, &package_info);
if (ret != PACKAGE_MANAGER_ERROR_NONE)
+ /* LCOV_EXCL_START */
return package_manager_error(ret, __FUNCTION__, NULL);
+ /* LCOV_EXCL_STOP */
r = foreach_pkg_context->callback(package_info, foreach_pkg_context->user_data);
ret = pkgmgrinfo_pkginfo_get_list(package_info_foreach_package_info_cb, &foreach_pkg_context);
if (ret < 0)
+ /* LCOV_EXCL_START */
return PACKAGE_MANAGER_ERROR_NO_SUCH_PACKAGE;
+ /* LCOV_EXCL_STOP */
return PACKAGE_MANAGER_ERROR_NONE;
}
ret = pkgmgrinfo_pkginfo_filter_foreach_pkginfo(handle, package_info_foreach_package_info_cb, &foreach_pkg_context);
if (ret < 0)
+ /* LCOV_EXCL_START */
return PACKAGE_MANAGER_ERROR_IO_ERROR;
+ /* LCOV_EXCL_STOP */
return PACKAGE_MANAGER_ERROR_NONE;
}