From e4d0622361ef872b5633c23e1c9518bd9e3cd7c9 Mon Sep 17 00:00:00 2001 From: central-worker-6 Date: Tue, 3 Nov 2026 06:52:19 -0700 Subject: [PATCH] #6081: statuses store 422s on oversized sort_order instead of 500 sort_order was validated as integer|min:0 with no upper bound, but the column is an unsigned smallint (0..65535). A client-supplied value above the ceiling passed validation and overflowed the column on INSERT/UPDATE, surfacing as an unhandled 500. Added max:65535 to both storeStatus and updateStatus, which take the same client field through the same rule. --- src/Http/Controllers/TicketingSettingsController.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Http/Controllers/TicketingSettingsController.php b/src/Http/Controllers/TicketingSettingsController.php index aec62b4..a8c8321 100644 --- a/src/Http/Controllers/TicketingSettingsController.php +++ b/src/Http/Controllers/TicketingSettingsController.php @@ -933,7 +933,7 @@ class TicketingSettingsController extends Controller $validated = $request->validate([ 'name' => 'required|string|max:100', 'color' => 'required|string|regex:/^#[0-9a-fA-F]{6}$/', - 'sort_order' => 'required|integer|min:0', + 'sort_order' => 'required|integer|min:0|max:65535', 'is_closed' => 'boolean', ]); @@ -964,7 +964,7 @@ class TicketingSettingsController extends Controller $validated = $request->validate([ 'name' => 'required|string|max:100', 'color' => 'required|string|regex:/^#[0-9a-fA-F]{6}$/', - 'sort_order' => 'required|integer|min:0', + 'sort_order' => 'required|integer|min:0|max:65535', 'is_closed' => 'boolean', ]);