net/transport/tcp: handle peer address parsing error in tcp and tls listener

This commit is contained in:
oars
2025-10-24 13:29:01 +03:00
committed by skoupidi
parent b419205e8c
commit 41f0a50de9

View File

@@ -198,7 +198,15 @@ impl PtListener for SmolTcpListener {
Err(e) => return Err(e),
};
let url = Url::parse(&format!("tcp://{peer_addr}")).unwrap();
let url = match Url::parse(&format!("tcp://{peer_addr}")) {
Ok(v) => v,
Err(e) => {
return Err(io::Error::new(
io::ErrorKind::InvalidData,
format!("Invalid peer address '{peer_addr}': {e}"),
))
}
};
Ok((Box::new(stream), url))
}
}
@@ -216,7 +224,15 @@ impl PtListener for (TlsAcceptor, SmolTcpListener) {
Err(e) => return Err(e),
};
let url = Url::parse(&format!("tcp+tls://{peer_addr}")).unwrap();
let url = match Url::parse(&format!("tcp+tls://{peer_addr}")) {
Ok(v) => v,
Err(e) => {
return Err(io::Error::new(
io::ErrorKind::InvalidData,
format!("Invalid peer address '{peer_addr}': {e}"),
))
}
};
Ok((Box::new(TlsStream::Server(stream)), url))
}