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)
{
_PackageInfoImpl infoImpl;
String appType;
String webAppType(L"wgt");
+ String cAppType(L"rpm");
r = _AccessController::CheckUserPrivilege(_PRV_PRIVILEGEMANAGER_READ);
SysTryReturnResult(NID_SEC, r == E_SUCCESS, E_PRIVILEGE_DENIED, "The application does not have the privilege to call this method.");
packageId.SubString(0, MAX_APP_ID_SIZE, subAppId);
- r = infoImpl.Construct(subAppId);
+ r = infoImpl.Construct(packageId);
SysTryReturnResult(NID_SEC, r == E_SUCCESS, E_SYSTEM, "An unexpected system error occurred.");
appType = infoImpl.GetAppType();
{
return E_SUCCESS;
}
+ else if (appType.Equals(cAppType, true))
+ {
+ r = _AccessController::CheckPrivacy(packageId, privilege);
+ SysTryReturnResult(NID_SEC, r == E_SUCCESS, E_USER_NOT_CONSENTED, "The user blocks an application from calling the method.");
+
+ return r;
+ }
if (__pPrivilegeManager == null)
{