tdam-client: Remove duplicates from final slice in fetchDirlist. - tordam - A library for peer discovery inside the Tor network
HTML git clone https://git.parazyd.org/tordam
DIR Log
DIR Files
DIR Refs
DIR README
DIR LICENSE
---
DIR commit bbad7869cabc96604d8ababb595b21461d6e3f69
DIR parent 90ec84166a4843ff854ca032abc5c4054679ef2c
HTML Author: parazyd <parazyd@dyne.org>
Date: Fri, 26 Oct 2018 17:56:32 +0200
dam-client: Remove duplicates from final slice in fetchDirlist.
This avoids possible race conditions (confirmed).
Diffstat:
M cmd/dam-client/main.go | 11 +++++++++++
1 file changed, 11 insertions(+), 0 deletions(-)
---
DIR diff --git a/cmd/dam-client/main.go b/cmd/dam-client/main.go
t@@ -179,6 +179,17 @@ func fetchDirlist(locations []string) ([]string, error) {
}
}
+ // Remove possible duplicats. Dupes can cause race conditions and are
+ // redundant to the whole logic.
+ encounter := map[string]bool{}
+ for j := range dirSlice {
+ encounter[dirSlice[j]] = true
+ }
+ dirSlice = []string{}
+ for key := range encounter {
+ dirSlice = append(dirSlice, key)
+ }
+
if len(dirSlice) < 1 {
log.Fatalln("Couldn't get any directories. Exiting.")
} else if len(dirSlice) <= 6 {