Public Slice bookkeeping allows callers to free live pool memory
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 68/100
Research direction
Locate the definitions of Slice, its index and shared_state fields, and SharedState::toogle. Read their usages to confirm which bookkeeping access must no longer be public and check that callers cannot mark a slot free while a Slice remains alive. Done means the unsafe public access is removed without breaking the intended pool behavior.
Written by the indexing model from the issue text.
Description
Slice exposes index and shared_state, while SharedState::toogle is also public. This allows safe callers to mark a slot as free while its Slice is still alive.
The pool can then reuse the underlying memory, causing the live slice to overlap another allocation and allowing data corruption or disclosure.
These bookkeeping fields and toogle should not be publicly accessible.
- Dominant language
- Rust
- Stars
- 352
- Forks
- 200
- Avg merge
- 4d 17h
- Merged PRs (30d)
- 12
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from stratum-mining/stratum
-
MessageFrame::encode_into accepts a serializer that writes fewer bytes than the header declares Open
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
stratum-mining/stratum#2386 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 85/100
stratum-mining/stratum#2385 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
stratum-mining/stratum#2384 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
stratum-mining/stratum#2383 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
stratum-mining/stratum#2381 ·
All issues in stratum-mining/stratum
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
gitbutlerapp/gitbutler#15998 · 1 comment ·
-
bug triage:deciding
Difficulty 1/5 Under an hour Newbie friendliness 88/100
open-telemetry/otel-arrow#4132 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100