Reinforce the boundary checking of privilege check method
authorhb.min <hb.min@samsung.com>
Wed, 10 Jul 2013 04:55:54 +0000 (13:55 +0900)
committerhb.min <hb.min@samsung.com>
Wed, 10 Jul 2013 04:55:54 +0000 (13:55 +0900)
Change-Id: I2ba78a98f1b0ebc686cc0464ebcfaa1d6ccb1148
Signed-off-by: hb.min <hb.min@samsung.com>
src/security/FSecAccessController.cpp
src/security/FSec_AccessController.cpp

index 7d5b0a7..19c15f1 100644 (file)
@@ -132,7 +132,7 @@ AccessController::CheckPrivilege(int privilege)
 
        ClearLastResult();
 
-       SysTryReturnResult(NID_SEC, privilege < _MAX_PRIVILEGE_ENUM, E_INVALID_ARG, "The privilege enumerator is invalid");
+       SysTryReturnResult(NID_SEC, (privilege >= 0) && (privilege < _MAX_PRIVILEGE_ENUM), E_INVALID_ARG, "The privilege enumerator is invalid");
 
        if (!isConstructed)
        {
index 0d19248..a41c454 100644 (file)
@@ -83,7 +83,7 @@ _AccessController::CheckSystemPrivilege(const PackageId& packageId, _Privilege p
        String appType;
        String webAppType(L"wgt");
 
-       SysTryReturnResult(NID_SEC, privilege < _MAX_PRIVILEGE_ENUM, E_INVALID_ARG, "The privilege enumerator is invalid");
+       SysTryReturnResult(NID_SEC, (privilege >= 0) && (privilege < _MAX_PRIVILEGE_ENUM), E_INVALID_ARG, "The privilege enumerator is invalid");
 
        packageId.SubString(0, MAX_APP_ID_SIZE, subAppId);
 
@@ -154,8 +154,8 @@ _AccessController::CheckSystemPrivilege(const PackageId& packageId, _Privilege p
        String appType;
        String webAppType(L"wgt");
 
-       SysTryReturnResult(NID_SEC, privilege1 < _MAX_PRIVILEGE_ENUM, E_INVALID_ARG, "The privilege enumerator is invalid");
-       SysTryReturnResult(NID_SEC, privilege2 < _MAX_PRIVILEGE_ENUM, E_INVALID_ARG, "The privilege enumerator is invalid");
+       SysTryReturnResult(NID_SEC, (privilege1 >= 0) && (privilege1 < _MAX_PRIVILEGE_ENUM), E_INVALID_ARG, "The privilege enumerator is invalid");
+       SysTryReturnResult(NID_SEC, (privilege2 >= 0) && (privilege2 < _MAX_PRIVILEGE_ENUM), E_INVALID_ARG, "The privilege enumerator is invalid");
 
        packageId.SubString(0, MAX_APP_ID_SIZE, subAppId);
 
@@ -345,7 +345,7 @@ _AccessController::CheckUserPrivilege(_Privilege privilege)
 
        ClearLastResult();
 
-       SysTryReturnResult(NID_SEC, privilege < _MAX_PRIVILEGE_ENUM, E_INVALID_ARG, "The privilege enumerator is invalid");
+       SysTryReturnResult(NID_SEC, (privilege >= 0) && (privilege < _MAX_PRIVILEGE_ENUM), E_INVALID_ARG, "The privilege enumerator is invalid");
 
        int appType = _AppInfo::GetAppType();
        PackageId packageId = _AppInfo::GetPackageId();
@@ -421,8 +421,8 @@ _AccessController::CheckUserPrivilege(_Privilege privilege1, _Privilege privileg
 
        ClearLastResult();
 
-       SysTryReturnResult(NID_SEC, privilege1 < _MAX_PRIVILEGE_ENUM, E_INVALID_ARG, "The privilege enumerator is invalid");
-       SysTryReturnResult(NID_SEC, privilege2 < _MAX_PRIVILEGE_ENUM, E_INVALID_ARG, "The privilege enumerator is invalid");
+       SysTryReturnResult(NID_SEC, (privilege1 >= 0) && (privilege1 < _MAX_PRIVILEGE_ENUM), E_INVALID_ARG, "The privilege enumerator is invalid");
+       SysTryReturnResult(NID_SEC, (privilege2 >= 0) && (privilege2 < _MAX_PRIVILEGE_ENUM), E_INVALID_ARG, "The privilege enumerator is invalid");
 
        int appType = _AppInfo::GetAppType();
        PackageId packageId = _AppInfo::GetPackageId();