diff --git a/src/header/value.rs b/src/header/value.rs index 99d1e155..eb9abc93 100644 --- a/src/header/value.rs +++ b/src/header/value.rs @@ -241,7 +241,14 @@ impl HeaderValue { src: T, into: F, ) -> Result { - for &b in src.as_ref() { + let u8_slice = src.as_ref(); + match u8_slice { + [b' ', ..] | [b'\t', ..] | [.., b' '] | [.., b'\t'] => { + return Err(InvalidHeaderValue { _priv: () }) + } + _ => (), + }; + for &b in u8_slice { if !is_valid(b) { return Err(InvalidHeaderValue { _priv: () }); }