summary refs log tree commit diff
path: root/synapse
diff options
context:
space:
mode:
authorAndrew Morgan <1342360+anoadragon453@users.noreply.github.com>2020-09-23 15:58:20 +0100
committerGitHub <noreply@github.com>2020-09-23 15:58:20 +0100
commit4bb203ea4fba54c0de300be84cfd9b38793fad81 (patch)
treec7f4371815c1ab895e4d3c2a68a0f685d51d1478 /synapse
parentDo not check lint/test dependencies at runtime. (#8377) (diff)
parentChangelog (diff)
downloadsynapse-4bb203ea4fba54c0de300be84cfd9b38793fad81.tar.xz
Fix missing null character check on guest_access room state (#8373)
When updating the `room_stats_state` table, we try to check for null bytes slipping in to the content for state events. It turns out we had added `guest_access` as a field to room_stats_state without including it in the null byte check.

Lo and behold, a null byte in a `m.room.guest_access` event then breaks `room_stats_state` updates.

This PR adds the check for `guest_access`.
Diffstat (limited to 'synapse')
-rw-r--r--synapse/storage/databases/main/stats.py2
1 files changed, 2 insertions, 0 deletions
diff --git a/synapse/storage/databases/main/stats.py b/synapse/storage/databases/main/stats.py

index d7816a8606..5beb302be3 100644 --- a/synapse/storage/databases/main/stats.py +++ b/synapse/storage/databases/main/stats.py
@@ -210,6 +210,7 @@ class StatsStore(StateDeltasStore): * topic * avatar * canonical_alias + * guest_access A is_federatable key can also be included with a boolean value. @@ -234,6 +235,7 @@ class StatsStore(StateDeltasStore): "topic", "avatar", "canonical_alias", + "guest_access", ): field = fields.get(col, sentinel) if field is not sentinel and (not isinstance(field, str) or "\0" in field):