diff options
author | Richard van der Hoff <richard@matrix.org> | 2018-05-02 13:29:16 +0100 |
---|---|---|
committer | Richard van der Hoff <richard@matrix.org> | 2018-05-02 16:14:50 +0100 |
commit | be31adb036cab08c4c70cb1e0d0f6550f0a75ef1 (patch) | |
tree | f713357ddfc4e8cf4963443ade23a8e08afdfb64 /synapse | |
parent | Merge pull request #3168 from matrix-org/rav/fix_logformatter (diff) | |
download | synapse-be31adb036cab08c4c70cb1e0d0f6550f0a75ef1.tar.xz |
Fix logcontext leak in media repo
Make FileResponder.write_to_consumer uphold the logcontext contract
Diffstat (limited to 'synapse')
-rw-r--r-- | synapse/rest/media/v1/_base.py | 1 | ||||
-rw-r--r-- | synapse/rest/media/v1/media_storage.py | 4 |
2 files changed, 4 insertions, 1 deletions
diff --git a/synapse/rest/media/v1/_base.py b/synapse/rest/media/v1/_base.py index d9c4af9389..c0d2f06855 100644 --- a/synapse/rest/media/v1/_base.py +++ b/synapse/rest/media/v1/_base.py @@ -143,6 +143,7 @@ def respond_with_responder(request, responder, media_type, file_size, upload_nam respond_404(request) return + logger.debug("Responding to media request with responder %s") add_file_headers(request, media_type, file_size, upload_name) with responder: yield responder.write_to_consumer(request) diff --git a/synapse/rest/media/v1/media_storage.py b/synapse/rest/media/v1/media_storage.py index 7f263db239..d23fe10b07 100644 --- a/synapse/rest/media/v1/media_storage.py +++ b/synapse/rest/media/v1/media_storage.py @@ -255,7 +255,9 @@ class FileResponder(Responder): self.open_file = open_file def write_to_consumer(self, consumer): - return FileSender().beginFileTransfer(self.open_file, consumer) + return make_deferred_yieldable( + FileSender().beginFileTransfer(self.open_file, consumer) + ) def __exit__(self, exc_type, exc_val, exc_tb): self.open_file.close() |