From 19b7c03230e0e9df79a1fdf20f2cfcde45037d00 Mon Sep 17 00:00:00 2001 From: Erik Seliger Date: Fri, 16 Aug 2024 10:12:39 +0200 Subject: [PATCH] bitbucket: Fix UserPermissions not returning anything (#64482) This is currently only used in the connectivity check, but could be a massive footgun if someone ever used it - the `ps` is NOT passed to `send`, it's assigned to the `Values` property of the struct that is sent there, so `ps` will always be empty.a Test plan: CI passes. --- internal/extsvc/bitbucketserver/client.go | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/internal/extsvc/bitbucketserver/client.go b/internal/extsvc/bitbucketserver/client.go index 02c95ca0e9e72..e7eec24e6a053 100644 --- a/internal/extsvc/bitbucketserver/client.go +++ b/internal/extsvc/bitbucketserver/client.go @@ -304,17 +304,15 @@ func (c *Client) UserPermissions(ctx context.Context, username string) (perms [] Permission Perm `json:"permission"` } - var ps []permission - _, err := c.send(ctx, "GET", "rest/api/1.0/admin/permissions/users", qry, nil, &struct { + resp := &struct { Values []permission `json:"values"` - }{ - Values: ps, - }) + }{} + _, err := c.send(ctx, "GET", "rest/api/1.0/admin/permissions/users", qry, nil, &resp) if err != nil { return nil, err } - for _, p := range ps { + for _, p := range resp.Values { if p.User.Name == username { perms = append(perms, p.Permission) }