diff --git a/cmd/erasure-object.go b/cmd/erasure-object.go index 78fbe6f09..0247822e7 100644 --- a/cmd/erasure-object.go +++ b/cmd/erasure-object.go @@ -469,7 +469,7 @@ func auditDanglingObjectDeletion(ctx context.Context, bucket, object, versionID func joinErrs(errs []error) string { var s string - for i := range s { + for i := range errs { if s != "" { s += "," } diff --git a/cmd/erasure-object_test.go b/cmd/erasure-object_test.go index 03f452f53..14a30d3bb 100644 --- a/cmd/erasure-object_test.go +++ b/cmd/erasure-object_test.go @@ -1281,3 +1281,24 @@ func TestGetObjectWithOutdatedDisks(t *testing.T) { } } } + +func TestJoinErrs(t *testing.T) { + errA := errors.New("disk not found") + errB := errors.New("file corrupt") + testCases := []struct { + errs []error + expected string + }{ + {nil, ""}, + {[]error{}, ""}, + {[]error{nil}, ""}, + {[]error{errA}, "disk not found"}, + {[]error{nil, errA}, ",disk not found"}, + {[]error{errA, nil, errB, nil}, "disk not found,,file corrupt,"}, + } + for i, testCase := range testCases { + if got := joinErrs(testCase.errs); got != testCase.expected { + t.Errorf("Test %d: expected %q, got %q", i+1, testCase.expected, got) + } + } +}