diff options
author | Paul "LeoNerd" Evans <paul@matrix.org> | 2016-09-09 13:10:36 +0100 |
---|---|---|
committer | Paul "LeoNerd" Evans <paul@matrix.org> | 2016-09-09 13:10:36 +0100 |
commit | 033d43e4190bf765eb29bb6ba8ea7cbe6ad66cf4 (patch) | |
tree | 41c847edd34360c20f6a236223f42c3eba6f21e3 /synapse/handlers/appservice.py | |
parent | Collect up all the "instances" lists of individual AS protocol results into o... (diff) | |
download | synapse-033d43e4190bf765eb29bb6ba8ea7cbe6ad66cf4.tar.xz |
Don't corrupt shared cache on subsequent protocol requests
Diffstat (limited to 'synapse/handlers/appservice.py')
-rw-r--r-- | synapse/handlers/appservice.py | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/synapse/handlers/appservice.py b/synapse/handlers/appservice.py index 25447284eb..e68628bdfd 100644 --- a/synapse/handlers/appservice.py +++ b/synapse/handlers/appservice.py @@ -201,7 +201,9 @@ class ApplicationServicesHandler(object): # Merge the 'instances' lists of multiple results, but just take # the other fields from the first as they ought to be identical + # deep-clone the result so as not to corrupt the cached one combined = dict(infos[0]) + combined["instances"] = list(combined["instances"]) for info in infos[1:]: combined["instances"].extend(info["instances"]) |