summaryrefslogtreecommitdiffstats
path: root/ipc
diff options
context:
space:
mode:
authorIgor Matuszewski <Xanewok@gmail.com>2020-03-13 23:43:21 +0100
committerIgor Matuszewski <igor@sequoia-pgp.org>2020-03-18 17:52:39 +0100
commita9051fe2da030f1bb1a3356cea673c9667755cae (patch)
tree0902a323c2dfe6a4a81bce52457adf571662c253 /ipc
parente0971ee9ba2b8aa723a23e5940b0337d9cfd11dd (diff)
ipc: Don't unwrap a properly parsed addr if not needed
Diffstat (limited to 'ipc')
-rw-r--r--ipc/src/lib.rs18
1 files changed, 10 insertions, 8 deletions
diff --git a/ipc/src/lib.rs b/ipc/src/lib.rs
index 77df21ba..c53a36df 100644
--- a/ipc/src/lib.rs
+++ b/ipc/src/lib.rs
@@ -164,15 +164,17 @@ impl Descriptor {
file.read_to_end(&mut c)?;
if let Some((cookie, a)) = Cookie::extract(c) {
- let addr = String::from_utf8_lossy(&a).parse::<SocketAddr>();
- if addr.is_err() {
- /* Malformed. Invalidate the cookie and try again. */
- file.set_len(0)?;
- drop(file);
- return self.connect(handle);
- }
+ let addr = match String::from_utf8_lossy(&a).parse::<SocketAddr>() {
+ Ok(addr) => addr,
+ Err(..) => {
+ /* Malformed. Invalidate the cookie and try again. */
+ file.set_len(0)?;
+ drop(file);
+ return self.connect(handle);
+ }
+ };
- let stream = TcpStream::connect(addr.unwrap());
+ let stream = TcpStream::connect(addr);
if let Ok(s) = stream {
do_connect(cookie, s)
} else {