diff options
author | Neil Alexander <neilalexander@users.noreply.github.com> | 2020-05-11 18:21:25 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-11 18:21:25 +0100 |
commit | 0c892d59fa5846097647d08244059de4f73e39a6 (patch) | |
tree | efb2bf967217f0c0e228d0daea3782b3e43aae3a /roomserver | |
parent | 99e0a7dff27501df482ba929f53637f4a96c78d6 (diff) |
Prevent panic in membership updater (#1021)
Diffstat (limited to 'roomserver')
-rw-r--r-- | roomserver/internal/input_membership.go | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/roomserver/internal/input_membership.go b/roomserver/internal/input_membership.go index cba75b4f..19b7d805 100644 --- a/roomserver/internal/input_membership.go +++ b/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 |