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
+1 -1
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())