X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fckm%2Fprivileged%2Faccess_provider2.cpp;h=bc7af2234af31a210694144910425c974b93432e;hb=d268044f6b941e7f9526ed765a6503708bf67e3a;hp=2d98ace43cd06a4c865a9083a788fdd83785960d;hpb=3473c4207ef2f437804e7eb40b8ffd2163b84846;p=platform%2Fcore%2Ftest%2Fsecurity-tests.git diff --git a/src/ckm/privileged/access_provider2.cpp b/src/ckm/privileged/access_provider2.cpp index 2d98ace..bc7af22 100644 --- a/src/ckm/privileged/access_provider2.cpp +++ b/src/ckm/privileged/access_provider2.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013 - 2019 Samsung Electronics Co., Ltd All Rights Reserved + * Copyright (c) 2013 - 2020 Samsung Electronics Co., Ltd All Rights Reserved * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -81,8 +81,7 @@ void AccessProvider::applyAndSwithToUser(int uid, int gid) { RUNNER_ASSERT_MSG(m_inSwitchContext == false, "already switched context"); - RUNNER_ASSERT_MSG(0 == smack_revoke_subject(m_mySubject.c_str()), - "Error in smack_revoke_subject(" << m_mySubject << ")"); + clear(); apply(); m_processLabel.reset(new ScopedProcessLabel(m_mySubject)); @@ -96,6 +95,10 @@ void AccessProvider::applyAndSwithToUser(int uid, int gid) m_inSwitchContext = true; } +void AccessProvider::clear() { + m_smackAccess.clear(); +} + void AccessProvider::allowJournaldLogs() { allowAPI("System::Run","wx"); // necessary for logging with journald } @@ -106,8 +109,7 @@ ScopedAccessProvider::~ScopedAccessProvider() { RUNNER_ASSERT_MSG(0 == setegid(m_origGid), "Error in setgid."); RUNNER_ASSERT_MSG(0 == seteuid(m_origUid), "Error in setuid."); - RUNNER_ASSERT_MSG(0 == smack_revoke_subject(m_mySubject.c_str()), - "Error in smack_revoke_subject(" << m_mySubject << ")"); + clear(); m_processLabel.reset(); m_inSwitchContext = false; }