WerWolv / WerWolv/PatternLanguage
std::mem::find_sequence/find_sequence_in_range/find_string_in_range fails when sequence exists across read block boundaries
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 275
- Forks
- 75
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 10
Description
Hello,
As in title, the code linked below appears to search through the data in blocks of 4K bytes.
If the sequence spans two blocks, then the function will miss it.
I am seeing what could be the effect of this where if I change the start offset value the find_string_in_range function will return -1 or the actual position.
Thanks
Contributor guide
No contributing guide indexed for this repository
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.
Research direction
Start in lib/source/pl/lib/std/mem.cpp at the linked code around line 26, focusing on find_sequence, find_sequence_in_range, and find_string_in_range. Reproduce searches where the target sequence crosses a 4K read-block boundary, including different start offsets. Done means each function finds sequences spanning adjacent blocks consistently instead of returning -1.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100