diff options
Diffstat (limited to '')
| -rw-r--r-- | src/core/hle/kernel/hle_ipc.cpp | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/core/hle/kernel/hle_ipc.cpp b/src/core/hle/kernel/hle_ipc.cpp index e6479c131..738b6d0f1 100644 --- a/src/core/hle/kernel/hle_ipc.cpp +++ b/src/core/hle/kernel/hle_ipc.cpp | |||
| @@ -326,25 +326,23 @@ Result HLERequestContext::WriteToOutgoingCommandBuffer(KThread& requesting_threa | |||
| 326 | } | 326 | } |
| 327 | 327 | ||
| 328 | std::vector<u8> HLERequestContext::ReadBuffer(std::size_t buffer_index) const { | 328 | std::vector<u8> HLERequestContext::ReadBuffer(std::size_t buffer_index) const { |
| 329 | std::vector<u8> buffer{}; | ||
| 330 | const bool is_buffer_a{BufferDescriptorA().size() > buffer_index && | 329 | const bool is_buffer_a{BufferDescriptorA().size() > buffer_index && |
| 331 | BufferDescriptorA()[buffer_index].Size()}; | 330 | BufferDescriptorA()[buffer_index].Size()}; |
| 332 | |||
| 333 | if (is_buffer_a) { | 331 | if (is_buffer_a) { |
| 334 | ASSERT_OR_EXECUTE_MSG( | 332 | ASSERT_OR_EXECUTE_MSG( |
| 335 | BufferDescriptorA().size() > buffer_index, { return buffer; }, | 333 | BufferDescriptorA().size() > buffer_index, { return {}; }, |
| 336 | "BufferDescriptorA invalid buffer_index {}", buffer_index); | 334 | "BufferDescriptorA invalid buffer_index {}", buffer_index); |
| 337 | buffer.resize(BufferDescriptorA()[buffer_index].Size()); | 335 | std::vector<u8> buffer(BufferDescriptorA()[buffer_index].Size()); |
| 338 | memory.ReadBlock(BufferDescriptorA()[buffer_index].Address(), buffer.data(), buffer.size()); | 336 | memory.ReadBlock(BufferDescriptorA()[buffer_index].Address(), buffer.data(), buffer.size()); |
| 337 | return buffer; | ||
| 339 | } else { | 338 | } else { |
| 340 | ASSERT_OR_EXECUTE_MSG( | 339 | ASSERT_OR_EXECUTE_MSG( |
| 341 | BufferDescriptorX().size() > buffer_index, { return buffer; }, | 340 | BufferDescriptorX().size() > buffer_index, { return {}; }, |
| 342 | "BufferDescriptorX invalid buffer_index {}", buffer_index); | 341 | "BufferDescriptorX invalid buffer_index {}", buffer_index); |
| 343 | buffer.resize(BufferDescriptorX()[buffer_index].Size()); | 342 | std::vector<u8> buffer(BufferDescriptorX()[buffer_index].Size()); |
| 344 | memory.ReadBlock(BufferDescriptorX()[buffer_index].Address(), buffer.data(), buffer.size()); | 343 | memory.ReadBlock(BufferDescriptorX()[buffer_index].Address(), buffer.data(), buffer.size()); |
| 344 | return buffer; | ||
| 345 | } | 345 | } |
| 346 | |||
| 347 | return buffer; | ||
| 348 | } | 346 | } |
| 349 | 347 | ||
| 350 | std::size_t HLERequestContext::WriteBuffer(const void* buffer, std::size_t size, | 348 | std::size_t HLERequestContext::WriteBuffer(const void* buffer, std::size_t size, |