Commit aaa5b2b6 authored by Kubernetes Submit Queue's avatar Kubernetes Submit Queue Committed by GitHub

Merge pull request #47575 from justinsb/fix_36902

Automatic merge from submit-queue (batch tested with PRs 47915, 47856, 44086, 47575, 47475) AWS: Fix suspicious loop comparing permissions Because we only ever call it with a single UserId/GroupId, this would not have been a problem in practice, but this fixes the code. Fix #36902 ```release-note NONE ```
parents b1ac5629 737607ba
...@@ -2046,17 +2046,22 @@ func ipPermissionExists(newPermission, existing *ec2.IpPermission, compareGroupU ...@@ -2046,17 +2046,22 @@ func ipPermissionExists(newPermission, existing *ec2.IpPermission, compareGroupU
break break
} }
} }
if found == false { if !found {
return false return false
} }
} }
for _, leftPair := range newPermission.UserIdGroupPairs { for _, leftPair := range newPermission.UserIdGroupPairs {
found := false
for _, rightPair := range existing.UserIdGroupPairs { for _, rightPair := range existing.UserIdGroupPairs {
if isEqualUserGroupPair(leftPair, rightPair, compareGroupUserIDs) { if isEqualUserGroupPair(leftPair, rightPair, compareGroupUserIDs) {
return true found = true
break
} }
} }
return false if !found {
return false
}
} }
return true return true
......
...@@ -879,6 +879,18 @@ func TestIpPermissionExistsHandlesMultipleGroupIds(t *testing.T) { ...@@ -879,6 +879,18 @@ func TestIpPermissionExistsHandlesMultipleGroupIds(t *testing.T) {
if equals { if equals {
t.Errorf("Should have not been considered equal since first is not in the second array of groups") t.Errorf("Should have not been considered equal since first is not in the second array of groups")
} }
// The first pair matches, but the second does not
newIpPermission2 := ec2.IpPermission{
UserIdGroupPairs: []*ec2.UserIdGroupPair{
{GroupId: aws.String("firstGroupId")},
{GroupId: aws.String("fourthGroupId")},
},
}
equals = ipPermissionExists(&newIpPermission2, &oldIpPermission, false)
if equals {
t.Errorf("Should have not been considered equal since first is not in the second array of groups")
}
} }
func TestIpPermissionExistsHandlesRangeSubsets(t *testing.T) { func TestIpPermissionExistsHandlesRangeSubsets(t *testing.T) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment