open-standards/wai/http-conformance/falsify/plus-sign.patch
Transaction Science 909312ce15 wai: falsification patches for the fix round, and the four the rewrite moved, regenerated
New: threshold-all, refusal-ends, reuse-stale, plus-sign, dispatch-layer,
union-no-layer, wai-prefix-case, dup-caps, record-alt, base-unanswered, each
naming the corpus cases it must fail. accept-gzip, trust-content-range,
skip-on-absent and intersection are the same defects written against the
current code.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-05 09:35:08 -04:00

15 lines
654 B
Diff

# must fail: response_plus_first
# a Content-Range number may carry a sign (session::digits)
diff --git a/wai/wai-rs/src/http_binding/session.rs b/wai/wai-rs/src/http_binding/session.rs
index 4730c192..8b8f7e67 100644
--- a/wai/wai-rs/src/http_binding/session.rs
+++ b/wai/wai-rs/src/http_binding/session.rs
@@ -194,7 +194,7 @@ impl Selector {
/// Whether `s` is one or more ASCII digits: the `1*DIGIT` of RFC 9110 §14.4. No sign,
/// separator, space or other script's digit.
fn digits(s: &str) -> Option<u64> {
- if s.is_empty() || !s.bytes().all(|b| b.is_ascii_digit()) {
+ if s.is_empty() {
return None;
}
s.parse().ok()