mirror of
https://github.com/element-hq/synapse.git
synced 2024-12-19 17:56:19 +03:00
Remove m.relates_to from events if the client set it to null
It appears as though Python only checks to see if the key exists in a dictionary, not necessarily for a useful value. This means that when clients submit (valid) requests with `m.relates_to: null` and Synapse later reads it, it gets a None reference error on access. This is the easier route than guarding all the places where it could be None.
This commit is contained in:
parent
1a94de60e8
commit
f9d7d3aa89
1 changed files with 5 additions and 0 deletions
|
@ -201,6 +201,11 @@ class RoomSendEventRestServlet(ClientV1RestServlet):
|
||||||
requester = yield self.auth.get_user_by_req(request, allow_guest=True)
|
requester = yield self.auth.get_user_by_req(request, allow_guest=True)
|
||||||
content = parse_json_object_from_request(request)
|
content = parse_json_object_from_request(request)
|
||||||
|
|
||||||
|
# Pull out the relationship early if the client sent us something
|
||||||
|
# which cannot possibly be processed by us.
|
||||||
|
if content.get("m.relates_to", "not None") is None:
|
||||||
|
del content["m.relates_to"]
|
||||||
|
|
||||||
event_dict = {
|
event_dict = {
|
||||||
"type": event_type,
|
"type": event_type,
|
||||||
"content": content,
|
"content": content,
|
||||||
|
|
Loading…
Reference in a new issue