From a7aa96ef2b629d36ff46e1507a61be8b2e2d3495 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Tue, 15 Jul 2025 14:52:52 +0300 Subject: [PATCH] tomatrix: add more nil safety to media id hashing --- pkg/connector/tomatrix.go | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pkg/connector/tomatrix.go b/pkg/connector/tomatrix.go index f98b9735..136780af 100644 --- a/pkg/connector/tomatrix.go +++ b/pkg/connector/tomatrix.go @@ -58,12 +58,15 @@ func mediaHashID(ctx context.Context, m tg.MessageMediaClass) []byte { } switch media := m.(type) { case *tg.MessageMediaPhoto: - return binary.BigEndian.AppendUint64(nil, uint64(media.Photo.GetID())) + if media != nil && media.Photo != nil { + return binary.BigEndian.AppendUint64(nil, uint64(media.Photo.GetID())) + } case *tg.MessageMediaDocument: - return binary.BigEndian.AppendUint64(nil, uint64(media.Document.GetID())) - default: - zerolog.Ctx(ctx).Error().Type("media_type", m).Msg("Attempted to get hash for unsupported media type ID") + if media != nil && media.Document != nil { + return binary.BigEndian.AppendUint64(nil, uint64(media.Document.GetID())) + } } + zerolog.Ctx(ctx).Error().Type("media_type", m).Msg("Attempted to get hash for unsupported media type ID") return nil }