feat(integrations): Add paginated repo fetching for GitHub integration #112426
1 issue
sentry-backend-bugs: Found 1 issue (1 medium)
Medium
ZeroDivisionError when per_page=0 is passed as query parameter - `src/sentry/integrations/api/endpoints/organization_integration_repos.py:105-108`
The code at line 105 sets per_page = min(int(request.GET.get("per_page", 100)), 100) which allows values less than 1, including 0 and negative numbers. When per_page=0 is passed, line 108 page_number = (cursor.offset // per_page) + 1 raises an unhandled ZeroDivisionError, resulting in a 500 error. This matches the Value Validation Errors pattern (Check 4) where input validation is insufficient before use.
Duration: 1m 56s · Tokens: 2.0M in / 12.8k out · Cost: $2.77 (+extraction: $0.00, +fix_gate: $0.00)
Annotations
Check warning on line 108 in src/sentry/integrations/api/endpoints/organization_integration_repos.py
sentry-warden / warden: sentry-backend-bugs
ZeroDivisionError when per_page=0 is passed as query parameter
The code at line 105 sets `per_page = min(int(request.GET.get("per_page", 100)), 100)` which allows values less than 1, including 0 and negative numbers. When `per_page=0` is passed, line 108 `page_number = (cursor.offset // per_page) + 1` raises an unhandled `ZeroDivisionError`, resulting in a 500 error. This matches the Value Validation Errors pattern (Check 4) where input validation is insufficient before use.