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>
This commit is contained in:
parent
e06a133717
commit
b33f23cc46
|
@ -327,8 +327,8 @@ private:
|
||||||
bool IsNiechePlaceholder(size_t virtual_offset, size_t length) const {
|
bool IsNiechePlaceholder(size_t virtual_offset, size_t length) const {
|
||||||
const auto it = placeholders.upper_bound({virtual_offset, virtual_offset + length});
|
const auto it = placeholders.upper_bound({virtual_offset, virtual_offset + length});
|
||||||
if (it != placeholders.end() && it->lower() == virtual_offset + length) {
|
if (it != placeholders.end() && it->lower() == virtual_offset + length) {
|
||||||
const bool is_root = it == placeholders.begin() && virtual_offset == 0;
|
return it == placeholders.begin() ? virtual_offset == 0
|
||||||
return is_root || std::prev(it)->upper() == virtual_offset;
|
: std::prev(it)->upper() == virtual_offset;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
Reference in New Issue