diff options
| author | bunnei <bunneidev@gmail.com> | 2018-07-20 09:47:47 -0700 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-07-20 09:47:47 -0700 | 
| commit | c1c9ab31e80a182d03765658191bfd3a6c8a691f (patch) | |
| tree | 393dcdde88b3aad1ec7a02ba410f5862d9b76d69 | |
| parent | 8346541901652c32c730b46e36b4c05b2bd88663 (diff) | |
| parent | 9c7321fe6dbaadb66b70107b314092e9ce83991f (diff) | |
Merge pull request #740 from Subv/acc_crash
HLE/ACC: Stub IManagerForApplication::GetAccountId to return an error.
| -rw-r--r-- | src/core/hle/service/acc/acc.cpp | 14 | 
1 files changed, 8 insertions, 6 deletions
| diff --git a/src/core/hle/service/acc/acc.cpp b/src/core/hle/service/acc/acc.cpp index 8ee39b54c..3e1c2c0a0 100644 --- a/src/core/hle/service/acc/acc.cpp +++ b/src/core/hle/service/acc/acc.cpp @@ -82,14 +82,16 @@ private:          LOG_WARNING(Service_ACC, "(STUBBED) called");          IPC::ResponseBuilder rb{ctx, 3};          rb.Push(RESULT_SUCCESS); -        rb.Push(true); // TODO: Check when this is supposed to return true and when not +        rb.Push(false); // TODO: Check when this is supposed to return true and when not      }      void GetAccountId(Kernel::HLERequestContext& ctx) {          LOG_WARNING(Service_ACC, "(STUBBED) called"); -        IPC::ResponseBuilder rb{ctx, 4}; -        rb.Push(RESULT_SUCCESS); -        rb.Push<u64>(0x12345678ABCDEF); +        // TODO(Subv): Find out what this actually does and implement it. Stub it as an error for +        // now since we do not implement NNID. Returning a bogus id here will cause games to send +        // invalid IPC requests after ListOpenUsers is called. +        IPC::ResponseBuilder rb{ctx, 2}; +        rb.Push(ResultCode(-1));      }  }; @@ -104,7 +106,7 @@ void Module::Interface::ListAllUsers(Kernel::HLERequestContext& ctx) {      LOG_WARNING(Service_ACC, "(STUBBED) called");      // TODO(Subv): There is only one user for now.      const std::vector<u128> user_ids = {DEFAULT_USER_ID}; -    ctx.WriteBuffer(user_ids.data(), user_ids.size() * sizeof(u128)); +    ctx.WriteBuffer(user_ids);      IPC::ResponseBuilder rb{ctx, 2};      rb.Push(RESULT_SUCCESS);  } @@ -113,7 +115,7 @@ void Module::Interface::ListOpenUsers(Kernel::HLERequestContext& ctx) {      LOG_WARNING(Service_ACC, "(STUBBED) called");      // TODO(Subv): There is only one user for now.      const std::vector<u128> user_ids = {DEFAULT_USER_ID}; -    ctx.WriteBuffer(user_ids.data(), user_ids.size() * sizeof(u128)); +    ctx.WriteBuffer(user_ids);      IPC::ResponseBuilder rb{ctx, 2};      rb.Push(RESULT_SUCCESS);  } | 
