Skip to content

Strnstr - #11

Closed
pavel-ivanov-rnd wants to merge 3 commits into
evdenis:masterfrom
pavel-ivanov-rnd:strnstr
Closed

pavel-ivanov-rnd wants to merge 3 commits into
evdenis:masterfrom
pavel-ivanov-rnd:strnstr

Conversation

@pavel-ivanov-rnd

Copy link
Copy Markdown

No description provided.

@evdenis
evdenis force-pushed the master branch 4 times, most recently from 4541855 to e5926d1 Compare September 7, 2020 22:49
@evdenis
evdenis force-pushed the master branch 4 times, most recently from 120a130 to 440fee7 Compare October 7, 2020 14:59
evdenis added a commit that referenced this pull request Sep 18, 2026
Port the search contract and skipped-prefix invariant to stock WP. Cover
empty needles, the first matching offset, and absence of a match without
requiring the haystack to end in NUL. Keep memcmp's verified contract and
the current WP session layout instead of restoring AstraVer artifacts.

WP proves 112/112 goals with RTE under the documented unsigned-wraparound
policy; all 26 smoke tests pass. The executable algorithm is unchanged.

PR: #11
evdenis added a commit that referenced this pull request Sep 18, 2026
Keep the proved cursor invariants instead of the older broad loop frame.
Move the named contract to the header and restrict writes to the suffix
through the actual appended terminator. PR #11 is already integrated, so
its inherited changes do not restore the old strnstr proof or session.

WP proves 311/311 goals with RTE under the documented unsigned-wraparound
policy; all 66 smoke tests pass. The executable algorithm is unchanged.

PR: #12
evdenis added a commit that referenced this pull request Sep 18, 2026
Port the search contract and skipped-prefix invariant to stock WP. Cover
empty needles, the first matching offset, and absence of a match without
requiring the haystack to end in NUL. Keep memcmp's verified contract and
the current WP session layout instead of restoring AstraVer artifacts.

WP proves 112/112 goals with RTE under the documented unsigned-wraparound
policy; all 26 smoke tests pass. The executable algorithm is unchanged.

PR: #11
evdenis added a commit that referenced this pull request Sep 18, 2026
Keep the proved cursor invariants instead of the older broad loop frame.
Move the named contract to the header and restrict writes to the suffix
through the actual appended terminator. PR #11 is already integrated, so
its inherited changes do not restore the old strnstr proof or session.

WP proves 311/311 goals with RTE under the documented unsigned-wraparound
policy; all 66 smoke tests pass. The executable algorithm is unchanged.

PR: #12
evdenis added a commit that referenced this pull request Sep 18, 2026
Port the search contract and skipped-prefix invariant to stock WP. Cover
empty needles, the first matching offset, and absence of a match without
requiring the haystack to end in NUL. Keep memcmp's verified contract and
the current WP session layout instead of restoring AstraVer artifacts.

WP proves 112/112 goals with RTE under the documented unsigned-wraparound
policy; all 26 smoke tests pass. The executable algorithm is unchanged.

PR: #11
evdenis added a commit that referenced this pull request Sep 18, 2026
Keep the proved cursor invariants instead of the older broad loop frame.
Move the named contract to the header and restrict writes to the suffix
through the actual appended terminator. PR #11 is already integrated, so
its inherited changes do not restore the old strnstr proof or session.

WP proves 311/311 goals with RTE under the documented unsigned-wraparound
policy; all 66 smoke tests pass. The executable algorithm is unchanged.

PR: #12
@evdenis

evdenis commented Sep 18, 2026

Copy link
Copy Markdown
Owner

Superseded by #19.

@evdenis evdenis closed this Sep 18, 2026
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.

3 participants