Prevent panic in membership updater
MODIFY
roomserver/internal/input_membership.go
roomserver/internal/input_membership.go
@@ -16,6 +16,7 @@ package internal
import (
"context"
+ "errors"
"fmt"
"github.com/matrix-org/dendrite/roomserver/api"
@@ -106,6 +107,13 @@ func updateMembership(
return updates, nil
}
+ if add == nil {
+ // This shouldn't happen. Returning an error here is better than panicking
+ // in the membership updater functions later on.
+ // TODO: Why does this happen to begin with?
+ return updates, errors.New("add should not be nil")
+ }
+
mu, err := updater.MembershipUpdater(targetUserNID)
if err != nil {
return nil, err

Prevent panic in membership updater (#1021)