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()) {
Ok(m) => m,
Err(err) => {
let msg = if bytes.len() > 50 {
format!("{:02x?}...{:x?}", &bytes[..10], &bytes[bytes.len() - 10..])
} else {
format!("{:02x?}", bytes)
};
debug!(
version=?this.version,
msg=format!("{:02x?}...{:x?}", &bytes[..10], &bytes[bytes.len() - 10..]),
%msg,
"failed to decode protocol message"
);
return Poll::Ready(Some(Err(err)))