From a9190b328dbd6270b0dd05ad84343f18d63f3447 Mon Sep 17 00:00:00 2001 From: Neil Alexander Date: Thu, 10 Feb 2022 09:48:39 +0000 Subject: [PATCH] Don't go out of bounds on missingEvents --- roomserver/internal/input/input_missing.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/roomserver/internal/input/input_missing.go b/roomserver/internal/input/input_missing.go index 56ac8ae28..19771d4bd 100644 --- a/roomserver/internal/input/input_missing.go +++ b/roomserver/internal/input/input_missing.go @@ -511,9 +511,9 @@ func (t *missingStateReq) getMissingEvents(ctx context.Context, e *gomatrixserve // Make sure events from the missingResp are using the cache - missing events // will be added and duplicates will be removed. logger.Debugf("get_missing_events returned %d events", len(missingResp.Events)) - missingEvents := make([]*gomatrixserverlib.Event, len(missingResp.Events)) - for i, ev := range missingResp.Events.UntrustedEvents(roomVersion) { - missingEvents[i] = t.cacheAndReturn(ev.Headered(roomVersion)).Unwrap() + missingEvents := make([]*gomatrixserverlib.Event, 0, len(missingResp.Events)) + for _, ev := range missingResp.Events.UntrustedEvents(roomVersion) { + missingEvents = append(missingEvents, t.cacheAndReturn(ev.Headered(roomVersion)).Unwrap()) } // topologically sort and sanity check that we are making forward progress