diff options
author | 2009-07-06 14:52:04 -0700 | |
---|---|---|
committer | 2009-07-06 14:52:04 -0700 | |
commit | d8b2a6412daef032d89c23e979758f6334b62093 (patch) | |
tree | dba55e2701d88e7bb380604520a230abb16b4b66 /libs/binder/IServiceManager.cpp | |
parent | d719890cab1eec09cbf556a3b86cc02b0f0ef8d7 (diff) | |
parent | 03a9a3449af3e0e79e9bbcd87f8057189ab9e151 (diff) |
Merge commit 'goog/master_gl' into merge_master_gl
Diffstat (limited to 'libs/binder/IServiceManager.cpp')
-rw-r--r-- | libs/binder/IServiceManager.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/libs/binder/IServiceManager.cpp b/libs/binder/IServiceManager.cpp index 88774e79b90c..0cf415860909 100644 --- a/libs/binder/IServiceManager.cpp +++ b/libs/binder/IServiceManager.cpp @@ -19,8 +19,8 @@ #include <binder/IServiceManager.h> #include <utils/Debug.h> -#include <binder/IPCThreadState.h> #include <utils/Log.h> +#include <binder/IPCThreadState.h> #include <binder/Parcel.h> #include <utils/String8.h> #include <utils/SystemClock.h> @@ -53,14 +53,19 @@ bool checkCallingPermission(const String16& permission) static String16 _permission("permission"); + bool checkCallingPermission(const String16& permission, int32_t* outPid, int32_t* outUid) { IPCThreadState* ipcState = IPCThreadState::self(); - int32_t pid = ipcState->getCallingPid(); - int32_t uid = ipcState->getCallingUid(); + pid_t pid = ipcState->getCallingPid(); + uid_t uid = ipcState->getCallingUid(); if (outPid) *outPid = pid; - if (outUid) *outUid= uid; - + if (outUid) *outUid = uid; + return checkPermission(permission, pid, uid); +} + +bool checkPermission(const String16& permission, pid_t pid, uid_t uid) +{ sp<IPermissionController> pc; gDefaultServiceManagerLock.lock(); pc = gPermissionController; |