diff options
author | Morph <39850852+Morph1984@users.noreply.github.com> | 2022-03-02 18:31:15 -0500 |
---|---|---|
committer | Morph <39850852+Morph1984@users.noreply.github.com> | 2022-03-02 18:36:59 -0500 |
commit | b33f23cc4615f2eee002a972a62eb50eec8e18e5 (patch) | |
tree | b5d3b7410bc77b511e4eee8e8a3d077c3b28f403 /src/common/host_memory.cpp | |
parent | e06a1337178cc203fff1b92aaca499b74c77437f (diff) |
host_memory: Fix fastmem crashes in debug builds
It is possible for virtual_offset to not be 0 when the iterator is at the beginning, and thus, std::prev(it) may be evaluated, leading to a crash in debug mode.
Co-Authored-By: Fernando S. <1731197+FernandoS27@users.noreply.github.com>
Diffstat (limited to 'src/common/host_memory.cpp')
-rw-r--r-- | src/common/host_memory.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/common/host_memory.cpp b/src/common/host_memory.cpp index 28949fe5e7..c465cfc14b 100644 --- a/src/common/host_memory.cpp +++ b/src/common/host_memory.cpp @@ -327,8 +327,8 @@ private: bool IsNiechePlaceholder(size_t virtual_offset, size_t length) const { const auto it = placeholders.upper_bound({virtual_offset, virtual_offset + length}); if (it != placeholders.end() && it->lower() == virtual_offset + length) { - const bool is_root = it == placeholders.begin() && virtual_offset == 0; - return is_root || std::prev(it)->upper() == virtual_offset; + return it == placeholders.begin() ? virtual_offset == 0 + : std::prev(it)->upper() == virtual_offset; } return false; } |