From 3267ba827f9e061a0938ef1030822fea178ee720 Mon Sep 17 00:00:00 2001 From: database64128 Date: Fri, 3 Sep 2021 13:30:47 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A2=20Fix=20index=20out=20of=20range?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roomserver/storage/shared/storage.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/roomserver/storage/shared/storage.go b/roomserver/storage/shared/storage.go index e18516791..32a722512 100644 --- a/roomserver/storage/shared/storage.go +++ b/roomserver/storage/shared/storage.go @@ -166,10 +166,16 @@ func (d *Database) AddState( return 0, fmt.Errorf("d.StateBlockTable.BulkSelectStateBlockEntries: %w", berr) } for i := len(state) - 1; i >= 0; i-- { - for _, events := range blocks { + for j := 0; j < len(blocks) && i < len(state); j++ { + events := blocks[j] for _, event := range events { if state[i].EventNID == event { - state = append(state[:i], state[i+1:]...) + if i+1 < len(state) { + state = append(state[:i], state[i+1:]...) + } else { + state = state[:i] + } + break } } }