From ddbef7c3ffb6b5efe87a7a841c7418bd73337b8b Mon Sep 17 00:00:00 2001 From: Neil Alexander Date: Tue, 16 Nov 2021 09:25:36 +0000 Subject: [PATCH] Fix panic in federationsender consumer --- federationsender/consumers/keychange.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/federationsender/consumers/keychange.go b/federationsender/consumers/keychange.go index a9f6d0f8..2c366e50 100644 --- a/federationsender/consumers/keychange.go +++ b/federationsender/consumers/keychange.go @@ -95,6 +95,12 @@ func (t *KeyChangeConsumer) onMessage(msg *sarama.ConsumerMessage) error { } func (t *KeyChangeConsumer) onDeviceKeyMessage(m api.DeviceMessage) error { + if m.DeviceKeys == nil && m.OutputCrossSigningKeyUpdate == nil { + // This probably shouldn't happen but stops us from panicking if we come + // across an update that doesn't satisfy either types. + return nil + } + logger := logrus.WithField("user_id", m.UserID) // only send key change events which originated from us