diff --git a/services/src/client/file_manager_proxy.cpp b/services/src/client/file_manager_proxy.cpp index 663efaa91bb5f57bc73165c2509afe40893bc78e..0c15b609f7cdeb7e79115a1c865568ade14a77d6 100644 --- a/services/src/client/file_manager_proxy.cpp +++ b/services/src/client/file_manager_proxy.cpp @@ -46,6 +46,7 @@ int FileManagerProxy::GetRoot(const CmdOptions &option, vector> &fileRes) { - MessageParcel data; CmdOptions op(option); std::string devName(op.GetDevInfo().GetName()); std::string devPath(op.GetDevInfo().GetPath()); int64_t offset = op.GetOffset(); int64_t count = op.GetCount(); - + MessageParcel data; + data.WriteInterfaceToken(GetDescriptor()); data.WriteString(devName); data.WriteString(devPath); data.WriteString(type); @@ -145,6 +147,7 @@ int FileManagerProxy::ListFile(const std::string &type, const std::string &path, int FileManagerProxy::Mkdir(const string &name, const string &path) { MessageParcel data; + data.WriteInterfaceToken(GetDescriptor()); data.WriteString(name); data.WriteString(path); MessageParcel reply; diff --git a/services/src/server/file_manager_service_stub.cpp b/services/src/server/file_manager_service_stub.cpp index dff8a584909b12caa08fe01c396ca5dba204b6a8..ebb5e27c2c17f188d8e2f41743921460ee57b34d 100644 --- a/services/src/server/file_manager_service_stub.cpp +++ b/services/src/server/file_manager_service_stub.cpp @@ -116,17 +116,23 @@ bool CheckClientPermission(const std::string& permissionStr) int FileManagerServiceStub::OnRemoteRequest(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) { + // check whether request from fms proxy + if (data.ReadInterfaceToken() != GetDescriptor()) { + ERR_LOG("reject error remote request"); + reply.WriteInt32(FAIL); + return FAIL; + } // change permission string after finishing accessToken string permission = "permission"; if (!CheckClientPermission(permission)) { ERR_LOG("checkpermission error FAIL"); } if (!MediaFileUtils::InitHelper(AsObject())) { - ERR_LOG("InitHelper error %{public}d", FAIL); + ERR_LOG("Init MediaLibraryDataAbility Helper error"); reply.WriteInt32(FAIL); return FAIL; } - // do file process + // do request process int32_t errCode = OperProcess(code, data, reply); reply.WriteInt32(errCode); return errCode;