From b866b8cdf4df99709a516575221e5238ef527528 Mon Sep 17 00:00:00 2001 From: James Munnelly Date: Wed, 4 Apr 2018 23:40:08 +0100 Subject: [PATCH] Fix bug in EqualUnsorted when comparing lists of the same length --- pkg/util/util.go | 6 ++++-- pkg/util/util_test.go | 6 ++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/pkg/util/util.go b/pkg/util/util.go index a548cffa3..2163d1132 100644 --- a/pkg/util/util.go +++ b/pkg/util/util.go @@ -24,8 +24,10 @@ func EqualUnsorted(s1 []string, s2 []string) bool { return false } s1_2, s2_2 := make([]string, len(s1)), make([]string, len(s2)) - sort.Strings(s1) - sort.Strings(s2) + copy(s1_2, s1) + copy(s2_2, s2) + sort.Strings(s1_2) + sort.Strings(s2_2) for i, s := range s1_2 { if s != s2_2[i] { return false diff --git a/pkg/util/util_test.go b/pkg/util/util_test.go index 44b2a9f8d..f95d8f8d3 100644 --- a/pkg/util/util_test.go +++ b/pkg/util/util_test.go @@ -36,6 +36,12 @@ func TestEqualUnsorted(t *testing.T) { s2: []string{"a", "b", "c"}, equal: true, }, + { + desc: "unequal lists of the same length are not equal", + s1: []string{"example.com"}, + s2: []string{"notexample.com"}, + equal: false, + }, } for _, test := range tests { t.Run(test.desc, func(test testT) func(*testing.T) {