From 8c4a6e7e6f29f839df4568d89c7ce7488eb77367 Mon Sep 17 00:00:00 2001 From: gavwu Date: Thu, 10 Dec 2020 23:35:15 +0800 Subject: [PATCH] fix GetAll() potentially return an unprotected map --- pkg/cover/store.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkg/cover/store.go b/pkg/cover/store.go index 40861ca..7d68bf3 100644 --- a/pkg/cover/store.go +++ b/pkg/cover/store.go @@ -264,9 +264,13 @@ func (l *memoryStore) Get(name string) []string { // Get returns all the registered service information func (l *memoryStore) GetAll() map[string][]string { + res := make(map[string][]string) l.mu.RLock() defer l.mu.RUnlock() - return l.servicesMap + for k,v := range l.servicesMap { + res[k] = append(make([]string,0,len(v)), v...) + } + return res } // Init cleanup all the registered service information