Merge pull request #11948 from german77/hard_ring

service: hid: Ensure GetNextEntryIndex can't fail
This commit is contained in:
liamwhite 2023-11-03 09:14:17 -04:00 committed by GitHub
commit eda403388a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -32,15 +32,15 @@ struct Lifo {
} }
std::size_t GetPreviousEntryIndex() const { std::size_t GetPreviousEntryIndex() const {
return static_cast<size_t>((buffer_tail + total_buffer_count - 1) % total_buffer_count); return static_cast<size_t>((buffer_tail + max_buffer_size - 1) % max_buffer_size);
} }
std::size_t GetNextEntryIndex() const { std::size_t GetNextEntryIndex() const {
return static_cast<size_t>((buffer_tail + 1) % total_buffer_count); return static_cast<size_t>((buffer_tail + 1) % max_buffer_size);
} }
void WriteNextEntry(const State& new_state) { void WriteNextEntry(const State& new_state) {
if (buffer_count < total_buffer_count - 1) { if (buffer_count < static_cast<s64>(max_buffer_size) - 1) {
buffer_count++; buffer_count++;
} }
buffer_tail = GetNextEntryIndex(); buffer_tail = GetNextEntryIndex();