Skip to content

fix(redis): reject malformed RESP3 reply boundaries - #73

Merged
nick2781 merged 1 commit into
mainfrom
fix/redis-wire-boundaries
Nov 4, 2026
Merged

nick2781 merged 1 commit into
mainfrom
fix/redis-wire-boundaries

Conversation

@nick2781

@nick2781 nick2781 commented Nov 4, 2026

Copy link
Copy Markdown
Member

Reject malformed RESP3 doubles with an empty fractional part and pushes nested within another value, following the official protocol. Decoder failures remain sticky so malformed input cannot expose a following reply as a valid response.

Permanent tests also preserve existing owning pipeline prefixes and single completion across protocol failure, disconnect and cancellation. Public client interfaces, cancellation/draining contracts and wire support are unchanged. The bilingual Redis configuration reference documents these boundaries.

Validation: the two decoder regressions fail against main and pass with the fix. Local Boost and Standalone Asio/TLS client, decoder and shutdown checks pass, including AddressSanitizer plus UndefinedBehaviorSanitizer; independently configured external-Redis cases were skipped. Complete clang-format 18 and Nimbus/export checks pass. Hosted cross-platform acceptance remains required.

@nick2781
nick2781 added this pull request to the merge queue Nov 4, 2026
Merged via the queue into main with commit d8ff341 Nov 4, 2026
10 checks passed
@nick2781
nick2781 deleted the fix/redis-wire-boundaries branch November 4, 2026 09:27
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