From 99a1f5665a3175221d33dcb0d41f9aeafae10af8 Mon Sep 17 00:00:00 2001 From: Chris Rhodes Date: Fri, 1 Apr 2016 11:31:10 -0700 Subject: [PATCH] Fix potential infinite loop on state. --- state.go | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/state.go b/state.go index 58f52c5..f0bcff1 100644 --- a/state.go +++ b/state.go @@ -12,10 +12,7 @@ package discordgo -import ( - "errors" - "log" -) +import "errors" // ErrNilState is returned when the state is nil. var ErrNilState = errors.New("State not instantiated, please use discordgo.New() or assign Session.State.") @@ -429,14 +426,7 @@ func (s *State) MessageAdd(message *Message) error { c.Messages = append(c.Messages, message) if len(c.Messages) > s.MaxMessageCount { - s.Unlock() - for len(c.Messages) > s.MaxMessageCount { - err := s.MessageRemove(c.Messages[0]) - if err != nil { - log.Println("message remove error: ", err) - } - } - s.Lock() + c.Messages = c.Messages[len(c.Messages)-s.MaxMessageCount:] } return nil }