From 49f4606583ee8ee94d6a11145ffcb42c381ceec9 Mon Sep 17 00:00:00 2001 From: Alexey Shekhirin Date: Wed, 15 Nov 2023 19:03:34 +0000 Subject: [PATCH] fix(net): check bounds on message logging (#5448) --- crates/net/eth-wire/src/ethstream.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/crates/net/eth-wire/src/ethstream.rs b/crates/net/eth-wire/src/ethstream.rs index a574b180f..23f64040a 100644 --- a/crates/net/eth-wire/src/ethstream.rs +++ b/crates/net/eth-wire/src/ethstream.rs @@ -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)))