Fix std::span::subspan calls to request line.size() - 2 bytes starting at offset 2, instead of line.size(), and guard against lines shorter than the two-byte prefix so we never read past line bounds.
Clamp both the per-read readVersion and the setOldestVersion argument to 0, satisfying the non-negative and monotonic version contracts during the first 100 / 10 000 batches.
Closes #58
Changes in `RealDataBench.cpp`:
- Fix `std::span::subspan` calls to request `line.size() - 2` bytes starting at offset 2, instead of `line.size()`, and guard against lines shorter than the two-byte prefix so we never read past line bounds.
- Clamp both the per-read `readVersion` and the `setOldestVersion` argument to `0`, satisfying the non-negative and monotonic version contracts during the first 100 / 10 000 batches.
- Use subspan count `line.size() - 2` instead of `line.size()` to avoid reading past the line bounds, and guard lines shorter than the two-byte prefix.
- Clamp `readVersion` and `setOldestVersion` arguments to `0` so the conflict set never receives negative, non-monotonic versions during the warmup phase.
Fixes#58.
andrew
scheduled this pull request to auto merge when all checks succeed 2026-06-29 18:40:53 +00:00
andrew
merged commit 732d19efa1 into main2026-06-29 18:50:00 +00:00
andrew
deleted branch weaselbot/issue-582026-06-29 18:50:00 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Closes #58
Changes in
RealDataBench.cpp:std::span::subspancalls to requestline.size() - 2bytes starting at offset 2, instead ofline.size(), and guard against lines shorter than the two-byte prefix so we never read past line bounds.readVersionand thesetOldestVersionargument to0, satisfying the non-negative and monotonic version contracts during the first 100 / 10 000 batches.