ScopeLogger("Privilege access checked using Cynara.");
char* smack_label = nullptr;
- int len = smack_new_label_from_self(&smack_label);
+ char path[1024] = {
+ 0,
+ };
+ snprintf(path, sizeof(path), "/proc/%lu/attr/current", static_cast<unsigned long>(gettid()));
+ int ret = smack_getlabel(path, &smack_label, SMACK_LABEL_ACCESS);
- if (0 < len && nullptr != smack_label) {
+ if (0 == ret && nullptr != smack_label && 0 < strlen(smack_label)) {
auto uid = getuid();
SLoggerD("uid: [%u]", uid);
return;
}
- int ret = cynara_initialize(&cynara_, nullptr);
+ ret = cynara_initialize(&cynara_, nullptr);
if (CYNARA_API_SUCCESS != ret) {
LoggerE("Failed to initialize Cynara");
cynara_ = nullptr;