diff options
author | Igor Matuszewski <Xanewok@gmail.com> | 2020-03-13 23:43:21 +0100 |
---|---|---|
committer | Igor Matuszewski <igor@sequoia-pgp.org> | 2020-03-18 17:52:39 +0100 |
commit | a9051fe2da030f1bb1a3356cea673c9667755cae (patch) | |
tree | 0902a323c2dfe6a4a81bce52457adf571662c253 /ipc | |
parent | e0971ee9ba2b8aa723a23e5940b0337d9cfd11dd (diff) |
ipc: Don't unwrap a properly parsed addr if not needed
Diffstat (limited to 'ipc')
-rw-r--r-- | ipc/src/lib.rs | 18 |
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 { |