From 714541a7a4384cd3ae6d93d82c2aa05456a47872 Mon Sep 17 00:00:00 2001 From: Tim Kuehn Date: Thu, 25 Feb 2016 01:05:38 -0800 Subject: [PATCH] Don't unwrap in Listener::dialer --- tarpc/src/transport/unix.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tarpc/src/transport/unix.rs b/tarpc/src/transport/unix.rs index 1e2e7ad..f7e9f54 100644 --- a/tarpc/src/transport/unix.rs +++ b/tarpc/src/transport/unix.rs @@ -34,7 +34,11 @@ impl super::Listener for UnixListener { self.accept().map(|(stream, _)| stream) } fn dialer(&self) -> io::Result> { - self.local_addr().map(|addr| UnixDialer(addr.as_pathname().unwrap().to_owned())) + self.local_addr().and_then(|addr| match addr.as_pathname() { + Some(path) => Ok(UnixDialer(path.to_owned())), + None => Err(io::Error::new(io::ErrorKind::AddrNotAvailable, + "Couldn't get a path to bound unix socket")), + }) } }