3 files changed, 5 insertions, 2 deletions
diff --git a/changelog.d/3535.misc b/changelog.d/3535.misc
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/changelog.d/3535.misc
diff --git a/synapse/rest/client/v1/push_rule.py b/synapse/rest/client/v1/push_rule.py
index 7cf6a99774..6e95d9bec2 100644
--- a/synapse/rest/client/v1/push_rule.py
+++ b/synapse/rest/client/v1/push_rule.py
@@ -77,11 +77,11 @@ class PushRuleRestServlet(ClientV1RestServlet):
before = parse_string(request, "before")
if before:
- before = _namespaced_rule_id(spec, before[0])
+ before = _namespaced_rule_id(spec, before)
after = parse_string(request, "after")
if after:
- after = _namespaced_rule_id(spec, after[0])
+ after = _namespaced_rule_id(spec, after)
try:
yield self.store.add_push_rule(
diff --git a/synapse/streams/config.py b/synapse/streams/config.py
index 22b0b830f7..451e4fa441 100644
--- a/synapse/streams/config.py
+++ b/synapse/streams/config.py
@@ -78,6 +78,9 @@ class PaginationConfig(object):
limit = parse_integer(request, "limit", default=default_limit)
+ if limit and limit < 0:
+ raise SynapseError(400, "Limit must be 0 or above")
+
try:
return PaginationConfig(from_tok, to_tok, direction, limit)
except Exception:
|