Fix data race in lookupMissingStateViaStateIDs

This commit is contained in:
Neil Alexander 2022-08-02 13:01:03 +01:00
parent 7ec70272d2
commit f4345dafde
No known key found for this signature in database
GPG Key ID: A02A2019A2BB0944

View File

@ -750,9 +750,8 @@ func (t *missingStateReq) lookupMissingStateViaStateIDs(ctx context.Context, roo
// Define what we'll do in order to fetch the missing event ID. // Define what we'll do in order to fetch the missing event ID.
fetch := func(missingEventID string) { fetch := func(missingEventID string) {
var h *gomatrixserverlib.Event h, herr := t.lookupEvent(ctx, roomVersion, roomID, missingEventID, false)
h, err = t.lookupEvent(ctx, roomVersion, roomID, missingEventID, false) switch herr.(type) {
switch err.(type) {
case verifySigError: case verifySigError:
return return
case nil: case nil:
@ -761,7 +760,7 @@ func (t *missingStateReq) lookupMissingStateViaStateIDs(ctx context.Context, roo
util.GetLogger(ctx).WithFields(logrus.Fields{ util.GetLogger(ctx).WithFields(logrus.Fields{
"event_id": missingEventID, "event_id": missingEventID,
"room_id": roomID, "room_id": roomID,
}).Warn("Failed to fetch missing event") }).WithError(herr).Warn("Failed to fetch missing event")
return return
} }
haveEventsMutex.Lock() haveEventsMutex.Lock()