This is an automated email from the ASF dual-hosted git repository.

sbp pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tooling-trusted-releases.git


The following commit(s) were added to refs/heads/main by this push:
     new 1bc9ee14 Proper pagination validation checks
1bc9ee14 is described below

commit 1bc9ee142ce7b600033d6bf2454bcda09d615353
Author: Dave Fisher <[email protected]>
AuthorDate: Thu Feb 26 15:18:49 2026 -0800

    Proper pagination validation checks
---
 atr/api/__init__.py | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/atr/api/__init__.py b/atr/api/__init__.py
index 7e2c6117..251e268e 100644
--- a/atr/api/__init__.py
+++ b/atr/api/__init__.py
@@ -1471,9 +1471,20 @@ async def _match_unfinished(release_directory: 
pathlib.Path, data: models.api.Si
 def _pagination_args_validate(query_args: Any) -> None:
     # Users could request any amount using limit=N with arbitrarily high N
     # We therefore limit the maximum limit to 1000
-    if hasattr(query_args, "limit") and (query_args.limit > 1000):
-        # quart.abort(400, "Limit is too high")
-        raise exceptions.BadRequest("Maximum limit of 1000 exceeded")
+    if hasattr(query_args, "limit"):
+        limit = query_args.limit
+        if limit > 1000:
+            raise exceptions.BadRequest("Maximum limit of 1000 exceeded")
+        elif limit < 1:
+            raise exceptions.BadRequest("Minimum limit less than 1 is 
nonsense")
+    # Users could request any amount using offset=N with arbitrarily high N
+    # We therefore limit the maximum offset to 1000000
+    if hasattr(query_args, "offest"):
+        offset = query_args.offset
+        if offset > 1000000:
+            raise exceptions.BadRequest("Maximum offset of 1000000 exceeded")
+        elif offset < 0:
+            raise exceptions.BadRequest("Minimum offset less than 0 is 
nonsense")
 
 
 def _simple_check(*args: str | None) -> None:


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to