From 7a303d6e31d2a0f7d407b9641ea8f201d7a0d449 Mon Sep 17 00:00:00 2001 From: wish Date: Sun, 14 Aug 2022 19:03:11 +1000 Subject: [PATCH] prevent use of reserved semaphore indexes --- server/channelserver/sys_channel_server.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/server/channelserver/sys_channel_server.go b/server/channelserver/sys_channel_server.go index a23ec2834..ca9063baf 100644 --- a/server/channelserver/sys_channel_server.go +++ b/server/channelserver/sys_channel_server.go @@ -154,7 +154,7 @@ func NewServer(config *Config) *Server { stages: make(map[string]*Stage), userBinaryParts: make(map[userBinaryPartID][]byte), semaphore: make(map[string]*Semaphore), - semaphoreIndex: 5, + semaphoreIndex: 7, discordBot: config.DiscordBot, name: config.Name, enable: config.Enable, @@ -413,6 +413,9 @@ func (s *Server) NextSemaphoreID() uint32 { for { exists := false s.semaphoreIndex = s.semaphoreIndex + 1 + if s.semaphoreIndex == 0 { + s.semaphoreIndex = 7 // Skip reserved indexes + } for _, semaphore := range s.semaphore { if semaphore.id == s.semaphoreIndex { exists = true