From 5c711dbef3cedc210510eca6333b2e8c0e866b71 Mon Sep 17 00:00:00 2001 From: "hb.min" Date: Wed, 10 Jul 2013 13:45:53 +0900 Subject: [PATCH] Reinforce the boundary checking of privilege check method Change-Id: Idad80c75bbf9f1813c1ead45067526233b722a08 Signed-off-by: hb.min --- src/security/FSecAccessController.cpp | 2 +- src/security/FSec_AccessController.cpp | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/security/FSecAccessController.cpp b/src/security/FSecAccessController.cpp index 7d5b0a7..19c15f1 100644 --- a/src/security/FSecAccessController.cpp +++ b/src/security/FSecAccessController.cpp @@ -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) { diff --git a/src/security/FSec_AccessController.cpp b/src/security/FSec_AccessController.cpp index 0d19248..a41c454 100644 --- a/src/security/FSec_AccessController.cpp +++ b/src/security/FSec_AccessController.cpp @@ -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(); -- 2.7.4