From 0f0259e60f69101a7cae84c02e132d4b074d05c9 Mon Sep 17 00:00:00 2001 From: Andrew Morgan Date: Wed, 23 Oct 2024 10:42:54 +0100 Subject: [PATCH 1/2] Prevent exception when remote media Content-Type header value is `None` --- synapse/media/media_repository.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/synapse/media/media_repository.py b/synapse/media/media_repository.py index 0b74209232..e415d78e2c 100644 --- a/synapse/media/media_repository.py +++ b/synapse/media/media_repository.py @@ -912,7 +912,11 @@ class MediaRepository: ) raise SynapseError(502, "Failed to fetch remote media") - if b"Content-Type" in headers: + if ( + b"Content-Type" in headers + and len(headers[b"Content-Type"]) > 0 + and headers[b"Content-Type"][0] is not None + ): media_type = headers[b"Content-Type"][0].decode("ascii") else: media_type = "application/octet-stream" From b84c6dc33bbc7fc2ef95e178bbdd774a216dcfda Mon Sep 17 00:00:00 2001 From: Andrew Morgan Date: Wed, 23 Oct 2024 10:46:10 +0100 Subject: [PATCH 2/2] newsfile --- changelog.d/17864.misc | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog.d/17864.misc diff --git a/changelog.d/17864.misc b/changelog.d/17864.misc new file mode 100644 index 0000000000..3402bc2582 --- /dev/null +++ b/changelog.d/17864.misc @@ -0,0 +1 @@ +Prevent exception from receiving an invalid `Content-Type` response header upon fetching remote media. \ No newline at end of file