diff --git a/samgr_server/BUILD.gn b/samgr_server/BUILD.gn index 9a8e377cada16b113d76d7cec2215ae441bbb44c..3e787e1f3dc33fcd0291ee6ef92fd2d1e5ab59a7 100644 --- a/samgr_server/BUILD.gn +++ b/samgr_server/BUILD.gn @@ -27,6 +27,7 @@ shared_library("server") { "//third_party/bounds_checking_function/include", "//base/security/permission/interfaces/innerkits/permission_lite", "//base/security/permission/services/permission_lite/pms_base/include", + "//foundation/communication/ipc_lite/frameworks/liteipc/include", ] deps = [ "//foundation/distributedschedule/samgr_lite:ConfigFiles" ] diff --git a/samgr_server/source/samgr_server.c b/samgr_server/source/samgr_server.c old mode 100755 new mode 100644 index 107dd0b2c2a9647c2b5e1e524f51bc494c12fb83..d02f08978d033035ce94a7c02b3f18edb22198a9 --- a/samgr_server/source/samgr_server.c +++ b/samgr_server/source/samgr_server.c @@ -20,6 +20,7 @@ #include #include #include +#include #include #include #include "cJSON.h" @@ -167,6 +168,12 @@ static int ProcEndpoint(SamgrServer *server, int32 option, void *origin, IpcIo * SvcIdentity identity = {(uint32)INVALID_INDEX, (uint32)INVALID_INDEX, (uint32)INVALID_INDEX}; (void)GenServiceHandle(&identity, GetCallingTid(origin)); #ifdef __LINUX__ + IpcMsg* data = (IpcMsg*)origin; + if (data == NULL) { + HILOG_ERROR(HILOG_MODULE_SAMGR, "Register Endpoint origin null pointer!"); + return EC_FAILURE; + } + identity.handle = data->target.handle; BinderAcquire(g_server.samgr->context, identity.handle); #endif