Skip to content

Fix receipt cull logic and bytes edge case.#20

Open
DanBeard wants to merge 2 commits intoattermann:masterfrom
DanBeard:fix/bytes-and-transport-bugs
Open

Fix receipt cull logic and bytes edge case.#20
DanBeard wants to merge 2 commits intoattermann:masterfrom
DanBeard:fix/bytes-and-transport-bugs

Conversation

@DanBeard
Copy link

  • Added check to truncate odd hex string so it doesn't read past buffer.
  • Fixed receipt cull logic so it will remove receipts to cull from _receipts list. This was causing a memory leak.
  • Added unit tests to test the fixes (with Claude code. I can remove these if you don't want to touch LLM code)

DanBeard and others added 2 commits February 9, 2026 23:46
- Bytes::assignHex/appendHex: truncate to even length before parsing
  to prevent reading past buffer on odd-length hex strings
- Bytes::mid(): fix off-by-one in bounds check (>= vs >)
- Transport: fix receipt culling loop iterating wrong list, which
  caused stale receipts to accumulate instead of being removed

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Tests for Bytes::assignHex, appendHex, mid() edge cases, and
Transport receipt culling logic. 18 test cases covering the bugs
fixed in the previous commit.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant