diff --git a/zenoh/src/net/routing/hat/linkstate_peer/mod.rs b/zenoh/src/net/routing/hat/linkstate_peer/mod.rs index e9dbf9363..0e5a061aa 100644 --- a/zenoh/src/net/routing/hat/linkstate_peer/mod.rs +++ b/zenoh/src/net/routing/hat/linkstate_peer/mod.rs @@ -392,7 +392,9 @@ impl HatBaseTrait for HatCode { use zenoh_codec::RCodec; let codec = Zenoh080Routing::new(); let mut reader = buf.reader(); - let list: LinkStateList = codec.read(&mut reader).unwrap(); + let Ok(list): Result = codec.read(&mut reader) else { + bail!("failed to decode link state"); + }; let whatami = transport.get_whatami()?; if whatami != WhatAmI::Client { diff --git a/zenoh/src/net/routing/hat/p2p_peer/mod.rs b/zenoh/src/net/routing/hat/p2p_peer/mod.rs index e8bbeb2fe..6d86b7c1b 100644 --- a/zenoh/src/net/routing/hat/p2p_peer/mod.rs +++ b/zenoh/src/net/routing/hat/p2p_peer/mod.rs @@ -337,7 +337,9 @@ impl HatBaseTrait for HatCode { use zenoh_codec::RCodec; let codec = Zenoh080Routing::new(); let mut reader = buf.reader(); - let list: LinkStateList = codec.read(&mut reader).unwrap(); + let Ok(list): Result = codec.read(&mut reader) else { + bail!("failed to decode link state"); + }; net.link_states(list.link_states, zid, whatami); } diff --git a/zenoh/src/net/routing/hat/router/mod.rs b/zenoh/src/net/routing/hat/router/mod.rs index 965abbbb2..d7050649b 100644 --- a/zenoh/src/net/routing/hat/router/mod.rs +++ b/zenoh/src/net/routing/hat/router/mod.rs @@ -625,7 +625,9 @@ impl HatBaseTrait for HatCode { use zenoh_codec::RCodec; let codec = Zenoh080Routing::new(); let mut reader = buf.reader(); - let list: LinkStateList = codec.read(&mut reader).unwrap(); + let Ok(list): Result = codec.read(&mut reader) else { + bail!("failed to decode link state"); + }; let whatami = transport.get_whatami()?; match whatami {