fix(net): check bounds on message logging (#5448)

This commit is contained in:
Alexey Shekhirin
2023-11-15 19:03:34 +00:00
committed by GitHub
parent 0583a967df
commit 49f4606583

View File

@ -242,9 +242,14 @@ where
let msg = match ProtocolMessage::decode_message(*this.version, &mut bytes.as_ref()) { let msg = match ProtocolMessage::decode_message(*this.version, &mut bytes.as_ref()) {
Ok(m) => m, Ok(m) => m,
Err(err) => { Err(err) => {
let msg = if bytes.len() > 50 {
format!("{:02x?}...{:x?}", &bytes[..10], &bytes[bytes.len() - 10..])
} else {
format!("{:02x?}", bytes)
};
debug!( debug!(
version=?this.version, version=?this.version,
msg=format!("{:02x?}...{:x?}", &bytes[..10], &bytes[bytes.len() - 10..]), %msg,
"failed to decode protocol message" "failed to decode protocol message"
); );
return Poll::Ready(Some(Err(err))) return Poll::Ready(Some(Err(err)))