From bdf43f53e909cd4d411489078d59d1b116291e4d Mon Sep 17 00:00:00 2001 From: chrislu Date: Thu, 4 Sep 2025 21:10:10 -0700 Subject: [PATCH] comment --- weed/query/engine/aggregations.go | 2 ++ weed/query/engine/string_functions.go | 3 +++ 2 files changed, 5 insertions(+) diff --git a/weed/query/engine/aggregations.go b/weed/query/engine/aggregations.go index 2d8b71a7a..abc05f7bb 100644 --- a/weed/query/engine/aggregations.go +++ b/weed/query/engine/aggregations.go @@ -360,6 +360,7 @@ func (e *SQLEngine) executeAggregationQueryWithPlan(ctx context.Context, hybridS if limit64 > int64(math.MaxInt) || limit64 < 0 { return nil, fmt.Errorf("LIMIT value %d is out of range", limit64) } + // Safe conversion after bounds check limit = int(limit64) } } @@ -370,6 +371,7 @@ func (e *SQLEngine) executeAggregationQueryWithPlan(ctx context.Context, hybridS if offset64 > int64(math.MaxInt) || offset64 < 0 { return nil, fmt.Errorf("OFFSET value %d is out of range", offset64) } + // Safe conversion after bounds check offset = int(offset64) } } diff --git a/weed/query/engine/string_functions.go b/weed/query/engine/string_functions.go index 21d4c8570..2143a75bc 100644 --- a/weed/query/engine/string_functions.go +++ b/weed/query/engine/string_functions.go @@ -151,6 +151,7 @@ func (e *SQLEngine) Substring(value *schema_pb.Value, start *schema_pb.Value, le // If length is out-of-bounds for int, take substring from startIdx to end result = str[startIdx:] } else { + // Safe conversion after bounds check endIdx := startIdx + int(lengthVal) if endIdx > len(str) { endIdx = len(str) @@ -283,6 +284,7 @@ func (e *SQLEngine) Left(value *schema_pb.Value, length *schema_pb.Value) (*sche }, nil } + // Safe conversion after bounds check return &schema_pb.Value{ Kind: &schema_pb.Value_StringValue{StringValue: str[:int(lengthVal)]}, }, nil @@ -322,6 +324,7 @@ func (e *SQLEngine) Right(value *schema_pb.Value, length *schema_pb.Value) (*sch }, nil } + // Safe conversion after bounds check startPos := len(str) - int(lengthVal) return &schema_pb.Value{ Kind: &schema_pb.Value_StringValue{StringValue: str[startPos:]},