yuzu/src/core
Lioncash d8deb39b83 svc: Handle memory writing explicitly within QueryProcessMemory
Moves the memory writes directly into QueryProcessMemory instead of
letting the wrapper function do it. It would be inaccurate to allow the
handler to do it because there's cases where memory shouldn't even be
written to. For example, if the given process handle is invalid.

HOWEVER, if the memory writing is within the wrapper, then we have no
control over if these memory writes occur, meaning in an error case, 68
bytes of memory randomly get trashed with zeroes, 64 of those being
written to wherever the memory info address points to, and the remaining
4 being written wherever the page info address points to.

One solution in this case would be to just conditionally check within
the handler itself, but this is kind of smelly, given the handler
shouldn't be performing conditional behavior itself, it's a behavior of
the managed function. In other words, if you remove the handler from the
equation entirely, does the function still retain its proper behavior?
In this case, no.

Now, we don't potentially trash memory from this function if an invalid
query is performed.
2018-12-12 15:43:31 -05:00
..
arm core: Make the exclusive monitor a unique_ptr instead of a shared_ptr 2018-10-15 14:15:50 -04:00
crypto Merge pull request #1836 from lioncash/unused 2018-12-04 18:28:15 -05:00
file_sys Merge pull request #1846 from lioncash/dir 2018-12-10 21:54:03 -05:00
frontend Merge pull request #1667 from DarkLordZach/swkbd 2018-11-20 08:24:11 -08:00
gdbstub gdbstub: Silence value truncation warning within FpuWrite() 2018-11-26 19:58:23 -05:00
hle svc: Handle memory writing explicitly within QueryProcessMemory 2018-12-12 15:43:31 -05:00
loader Merge pull request #1819 from DarkLordZach/disable-addons 2018-12-10 21:52:19 -05:00
tracer Port #4182 from Citra: "Prefix all size_t with std::" 2018-09-15 15:21:06 +02:00
CMakeLists.txt Merge pull request #1704 from DarkLordZach/oss-sysarchive 2018-12-04 19:59:52 -05:00
core_cpu.cpp core_cpu: Make Cpu scheduler instances unique_ptrs instead of shared_ptrs 2018-10-15 14:15:56 -04:00
core_cpu.h core_cpu: Make Cpu scheduler instances unique_ptrs instead of shared_ptrs 2018-10-15 14:15:56 -04:00
core_timing_util.cpp core_timing: Split off utility functions into core_timing_util 2018-07-24 11:03:24 +01:00
core_timing_util.h core_timing: Split off utility functions into core_timing_util 2018-07-24 11:03:24 +01:00
core_timing.cpp Core::CoreTiming: add UnscheduleEventThreadsafe 2018-08-13 13:56:41 +02:00
core_timing.h Core::CoreTiming: add UnscheduleEventThreadsafe 2018-08-13 13:56:41 +02:00
core.cpp core: Make GetGameFileFromPath function externally accessible 2018-12-03 17:20:34 -05:00
core.h core: Make GetGameFileFromPath function externally accessible 2018-12-03 17:20:34 -05:00
cpu_core_manager.cpp core: Relocate CPU core management to its own class 2018-11-22 04:28:19 -05:00
cpu_core_manager.h core: Relocate CPU core management to its own class 2018-11-22 04:28:19 -05:00
memory_hook.cpp memory_hook: Default virtual destructor in the cpp file 2018-05-03 08:12:16 -04:00
memory_hook.h global: Use std::optional instead of boost::optional (#1578) 2018-10-30 00:03:25 -04:00
memory_setup.h memory: Replace all memory hooking with Special regions 2018-01-27 15:16:39 +00:00
memory.cpp memory: Convert ASSERT into a DEBUG_ASSERT within GetPointerFromVMA() 2018-12-06 15:02:34 -05:00
memory.h memory: Dehardcode the use of fixed memory range constants 2018-09-24 22:16:03 -04:00
perf_stats.cpp perf_stats: Remove unused variable within DoFrameLimiting() 2018-10-24 00:33:26 -04:00
perf_stats.h core/core: Replace includes with forward declarations where applicable 2018-08-31 16:30:14 -04:00
settings.cpp hid: Use player-defined controller type as PREFERRED_CONTROLLER 2018-11-18 23:22:36 -05:00
settings.h settings: Store list of disabled add-ons per title ID 2018-12-03 17:20:34 -05:00
telemetry_session.cpp web_service: move telemetry condition from TelemetrySession constructor to destructor 2018-12-08 14:34:37 +01:00
telemetry_session.h compatdb: Use a seperate endpoint for testcase submission 2018-10-28 13:23:02 +01:00