From eb6d53d2f5d66e16a621141df111bd78bb843ecb Mon Sep 17 00:00:00 2001 From: Anis Elleuch Date: Tue, 10 Jan 2017 00:48:13 +0100 Subject: [PATCH] heal: Fix new entries computation in listDirHeal (#3551) A crash was happening due to an incorrect interpreation of the return value of sort.SearchString() --- cmd/xl-v1-list-objects-heal.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cmd/xl-v1-list-objects-heal.go b/cmd/xl-v1-list-objects-heal.go index b38411bb9..1871470e5 100644 --- a/cmd/xl-v1-list-objects-heal.go +++ b/cmd/xl-v1-list-objects-heal.go @@ -58,7 +58,9 @@ func listDirHealFactory(isLeaf isLeafFunc, disks ...StorageAPI) listDirFunc { // find elements in entries which are not in mergedentries for _, entry := range entries { idx := sort.SearchStrings(mergedEntries, entry) - if mergedEntries[idx] == entry { + // idx different from len(mergedEntries) means entry is not found + // in mergedEntries + if idx < len(mergedEntries) { continue } newEntries = append(newEntries, entry)