From 47a6fc9906a7be6666088e9f50fc6102fe94b55a Mon Sep 17 00:00:00 2001 From: Jonathan Lestrelin Date: Wed, 14 Mar 2018 17:40:48 +0100 Subject: [PATCH] Show 'n/a' in case of missing information to avoid crashing. --- shell.go | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/shell.go b/shell.go index 7b59b26..6d51cc7 100644 --- a/shell.go +++ b/shell.go @@ -1862,9 +1862,15 @@ GLOBAL OPTIONS: table.SetBorder(false) table.SetCaption(true, fmt.Sprintf("Total: %d userkeys.", len(userKeys))) for _, userkey := range userKeys { + var email string + if userkey.User != nil { + email = userkey.User.Email + } else { + email = "n/a" + } table.Append([]string{ fmt.Sprintf("%d", userkey.ID), - userkey.User.Email, + email, // FIXME: add fingerprint humanize.Time(userkey.UpdatedAt), humanize.Time(userkey.CreatedAt), @@ -1961,10 +1967,22 @@ GLOBAL OPTIONS: duration = humanize.RelTime(session.CreatedAt, *session.StoppedAt, "", "") } duration = strings.Replace(duration, "now", "1 second", 1) + var hostname string + if session.Host != nil { + hostname = session.Host.Name + } else { + hostname = "n/a" + } + var username string + if session.User != nil { + username = session.User.Name + } else { + username = "n/a" + } table.Append([]string{ fmt.Sprintf("%d", session.ID), - session.User.Name, - session.Host.Name, + username, + hostname, session.Status, humanize.Time(session.CreatedAt), duration,