From 235152a6b7e4e842d121bea3d6fff716255f1f55 Mon Sep 17 00:00:00 2001 From: Thomas Queiroz Date: Tue, 9 Nov 2021 19:57:24 -0300 Subject: [PATCH] uucore/utmpx: remove unwrap in cannon_host Default to hostname if getaddrinfo fails --- src/uucore/src/lib/features/utmpx.rs | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/src/uucore/src/lib/features/utmpx.rs b/src/uucore/src/lib/features/utmpx.rs index a96c3f48c..a3078b818 100644 --- a/src/uucore/src/lib/features/utmpx.rs +++ b/src/uucore/src/lib/features/utmpx.rs @@ -236,17 +236,20 @@ impl Utmpx { flags: AI_CANONNAME, ..AddrInfoHints::default() }; - let sockets = getaddrinfo(Some(hostname), None, Some(hints)) - .unwrap() - .collect::>>()?; - for socket in sockets { - if let Some(ai_canonname) = socket.canonname { - return Ok(if display.is_empty() { - ai_canonname - } else { - format!("{}:{}", ai_canonname, display) - }); + if let Ok(sockets) = getaddrinfo(Some(hostname), None, Some(hints)) { + let sockets = sockets.collect::>>()?; + for socket in sockets { + if let Some(ai_canonname) = socket.canonname { + return Ok(if display.is_empty() { + ai_canonname + } else { + format!("{}:{}", ai_canonname, display) + }); + } } + } else { + // GNU coreutils has this behavior + return Ok(hostname.to_string()); } }