From 393429d6928ce5cef6ced647567b7ec899d69ecc Mon Sep 17 00:00:00 2001 From: devonh Date: Wed, 8 May 2024 14:57:32 +0000 Subject: [PATCH] Fix undiscovered linter errors (#17166) Linter errors are showing up in #17147 that are unrelated to that PR. The errors do not currently show up on develop. This PR aims to resolve the linter errors separately from #17147. --- changelog.d/17166.misc | 1 + synapse/handlers/profile.py | 14 +++++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) create mode 100644 changelog.d/17166.misc diff --git a/changelog.d/17166.misc b/changelog.d/17166.misc new file mode 100644 index 000000000..22c1f9922 --- /dev/null +++ b/changelog.d/17166.misc @@ -0,0 +1 @@ +Fixes linter errors found in PR #17147. diff --git a/synapse/handlers/profile.py b/synapse/handlers/profile.py index e51e282a9..6663d4b27 100644 --- a/synapse/handlers/profile.py +++ b/synapse/handlers/profile.py @@ -20,7 +20,7 @@ # import logging import random -from typing import TYPE_CHECKING, Optional, Union +from typing import TYPE_CHECKING, List, Optional, Union from synapse.api.errors import ( AuthError, @@ -64,8 +64,10 @@ class ProfileHandler: self.user_directory_handler = hs.get_user_directory_handler() self.request_ratelimiter = hs.get_request_ratelimiter() - self.max_avatar_size = hs.config.server.max_avatar_size - self.allowed_avatar_mimetypes = hs.config.server.allowed_avatar_mimetypes + self.max_avatar_size: Optional[int] = hs.config.server.max_avatar_size + self.allowed_avatar_mimetypes: Optional[List[str]] = ( + hs.config.server.allowed_avatar_mimetypes + ) self._is_mine_server_name = hs.is_mine_server_name @@ -337,6 +339,12 @@ class ProfileHandler: return False if self.max_avatar_size: + if media_info.media_length is None: + logger.warning( + "Forbidding avatar change to %s: unknown media size", + mxc, + ) + return False # Ensure avatar does not exceed max allowed avatar size if media_info.media_length > self.max_avatar_size: logger.warning(