fix: fix panic in pagination if we get a bad request

This commit is contained in:
jamesread 2025-10-30 00:12:06 +00:00
parent b9d859ada2
commit 19c3b67cdd
1 changed files with 14 additions and 0 deletions

View File

@ -509,6 +509,20 @@ func (api *oliveTinAPI) GetActionLogs(ctx ctx.Context, req *connect.Request[apiv
pageSize := api.cfg.LogHistoryPageSize
startOffset := req.Msg.StartOffset
// Validate and clamp offset to prevent out-of-bounds access
if startOffset < 0 {
startOffset = 0
}
// If offset is beyond available data, return empty result with correct metadata
if startOffset >= totalCount {
ret.CountRemaining = 0
ret.PageSize = pageSize
ret.TotalCount = totalCount
ret.StartOffset = startOffset
return connect.NewResponse(ret), nil
}
startIdx := startOffset
endIdx := startOffset + pageSize
if endIdx > totalCount {