Ver Fonte

perform acl operations on cloned map

abhishek9686 há 10 meses atrás
pai
commit
e36eef476a
1 ficheiros alterados com 4 adições e 2 exclusões
  1. 4 2
      logic/acls/nodeacls/retrieve.go

+ 4 - 2
logic/acls/nodeacls/retrieve.go

@@ -3,6 +3,7 @@ package nodeacls
 import (
 	"encoding/json"
 	"fmt"
+	"maps"
 	"sync"
 
 	"github.com/gravitl/netmaker/logic/acls"
@@ -20,8 +21,9 @@ func AreNodesAllowed(networkID NetworkID, node1, node2 NodeID) bool {
 	}
 	var allowed bool
 	acls.AclMutex.Lock()
-	currNetworkACLNode1 := currentNetworkACL[acls.AclID(node1)]
-	currNetworkACLNode2 := currentNetworkACL[acls.AclID(node2)]
+	currNetAclCopy := maps.Clone(currentNetworkACL)
+	currNetworkACLNode1 := currNetAclCopy[acls.AclID(node1)]
+	currNetworkACLNode2 := currNetAclCopy[acls.AclID(node2)]
 	acls.AclMutex.Unlock()
 	allowed = currNetworkACLNode1.IsAllowed(acls.AclID(node2)) && currNetworkACLNode2.IsAllowed(acls.AclID(node1))
 	return allowed