From c3dd404778d7f758d212b9384d07b528cf919fed Mon Sep 17 00:00:00 2001 From: Neil Alexander Date: Wed, 22 Apr 2020 10:12:14 +0100 Subject: [PATCH] Don't accidentally try to type-assert nil --- common/caching/inmemorylru.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/common/caching/inmemorylru.go b/common/caching/inmemorylru.go index 94fac72f9..5e5b03f83 100644 --- a/common/caching/inmemorylru.go +++ b/common/caching/inmemorylru.go @@ -25,9 +25,14 @@ func (c *InMemoryLRUCache) GetRoomVersion(roomID string) (gomatrixserverlib.Room return "", false } c.roomVersionsMutex.RLock() - defer c.roomVersionsMutex.RUnlock() val, found := c.roomVersions.Get(roomID) - return val.(gomatrixserverlib.RoomVersion), found + c.roomVersionsMutex.RUnlock() + if found && val != nil { + if roomVersion, ok := val.(gomatrixserverlib.RoomVersion); ok { + return roomVersion, true + } + } + return "", false } func (c *InMemoryLRUCache) StoreRoomVersion(roomID string, roomVersion gomatrixserverlib.RoomVersion) {