Fix crash admin media list api when info is None (#14537)

Fixes https://github.com/matrix-org/synapse/issues/14536
This commit is contained in:
schmop 2022-11-24 11:49:04 +01:00 committed by GitHub
parent f6c74d1cb2
commit c2e06c36d4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 1 deletions

1
changelog.d/14537.bugfix Normal file
View File

@ -0,0 +1 @@
Fix a long-standing bug where the [List media admin API](https://matrix-org.github.io/synapse/latest/admin_api/media_admin_api.html#list-all-media-in-a-room) would fail when processing an image with broken thumbnail information.

View File

@ -912,7 +912,11 @@ class RoomWorkerStore(CacheInvalidationWorkerStore):
event_json = db_to_json(content_json) event_json = db_to_json(content_json)
content = event_json["content"] content = event_json["content"]
content_url = content.get("url") content_url = content.get("url")
thumbnail_url = content.get("info", {}).get("thumbnail_url") info = content.get("info")
if isinstance(info, dict):
thumbnail_url = info.get("thumbnail_url")
else:
thumbnail_url = None
for url in (content_url, thumbnail_url): for url in (content_url, thumbnail_url):
if not url: if not url: