From 7b861817ac508932289c024379c488ea97945a00 Mon Sep 17 00:00:00 2001 From: Diego Gonzalez Date: Sat, 19 Aug 2023 22:56:45 +0200 Subject: [PATCH] Avoid returning the UID when resolving the GIDs. --- pkg/util/command_util.go | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/pkg/util/command_util.go b/pkg/util/command_util.go index 448a59236e..65a45a767e 100644 --- a/pkg/util/command_util.go +++ b/pkg/util/command_util.go @@ -387,14 +387,29 @@ func getUIDAndGID(userStr string, groupStr string, fallbackToUID bool) (uint32, return 0, 0, err } - gid, err := getGIDFromName(groupStr, fallbackToUID) + if groupStr == "" { + if user.Gid != "" { + gid32, err := getGID(user.Gid, fallbackToUID) + + if err != nil { + if errors.Is(err, fallbackToUIDError) { + return uid32, uid32, nil + } + return 0, 0, err + } + + return uid32, gid32, nil + } + } + + gid32, err := getGIDFromName(groupStr, fallbackToUID) if err != nil { if errors.Is(err, fallbackToUIDError) { return uid32, uid32, nil } return 0, 0, err } - return uid32, gid, nil + return uid32, gid32, nil } // getGID tries to parse the gid or falls back to getGroupFromName if it's not an id