list: stop casting unknown UIDs to their unicode values

If a container is owned by a UID that is not listed in /etc/passwd,
previously we would cast the UID to a string which contained a character
with the unicode value of the UID. This is clearly wrong, switch to
using fmt.Sprintf as intended.

In addition, notate unknown users with a leading '#' in the column. This
is necessary to ensure that a user is not under the impression that the
UID is the same as a numeric username.

Signed-off-by: Aleksa Sarai <asarai@suse.de>
This commit is contained in:
Aleksa Sarai 2017-07-12 05:53:38 +10:00
parent 3a5b963f2f
commit 21a005d074
No known key found for this signature in database
GPG Key ID: 9E18AA267DDB8DB4
1 changed files with 1 additions and 1 deletions

View File

@ -135,7 +135,7 @@ func getContainers(context *cli.Context) ([]containerState, error) {
stat := item.Sys().(*syscall.Stat_t)
owner, err := user.LookupUid(int(stat.Uid))
if err != nil {
owner.Name = string(stat.Uid)
owner.Name = fmt.Sprintf("#%d", stat.Uid)
}
container, err := factory.Load(item.Name())