From f872d819d322b51b4dfc873c24faaa0702d92bc2 Mon Sep 17 00:00:00 2001 From: Kay Date: Tue, 14 Jan 2025 20:53:24 +0000 Subject: [PATCH 1/3] fix(task_scheduler): possible int overflow, casting int32/64 to uint16. --- delivery/websocket/task_scheduler.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/delivery/websocket/task_scheduler.go b/delivery/websocket/task_scheduler.go index 310b87d..325c753 100644 --- a/delivery/websocket/task_scheduler.go +++ b/delivery/websocket/task_scheduler.go @@ -35,13 +35,13 @@ func (s *Server) checkExpiration() { //nolint continue } - kind, err := strconv.Atoi(data[1]) + kind, err := strconv.ParseUint(data[1], 10, 16) if err != nil { continue } if err := s.handler.DeleteByID(data[0], - types.Kind(kind)); err != nil { //nolint + types.Kind(kind)); err != nil { failedTasks = append(failedTasks, task) } } From a21954c02881b7e1b9b4ad383503569a03b433f1 Mon Sep 17 00:00:00 2001 From: Kay Date: Tue, 14 Jan 2025 21:04:34 +0000 Subject: [PATCH 2/3] fix: int error. --- delivery/websocket/task_scheduler.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/delivery/websocket/task_scheduler.go b/delivery/websocket/task_scheduler.go index 325c753..a3bbd19 100644 --- a/delivery/websocket/task_scheduler.go +++ b/delivery/websocket/task_scheduler.go @@ -40,8 +40,10 @@ func (s *Server) checkExpiration() { //nolint continue } + // lint error is g115 gosec rule. this rule is broken. + // see: https://github.com/securego/gosec/issues/1288 if err := s.handler.DeleteByID(data[0], - types.Kind(kind)); err != nil { + types.Kind(kind)); err != nil { //nolint failedTasks = append(failedTasks, task) } } From e35254841f38dcfbd2ab6c4bb0db84734739952f Mon Sep 17 00:00:00 2001 From: Kay Date: Tue, 14 Jan 2025 21:04:39 +0000 Subject: [PATCH 3/3] fix: int error. --- delivery/websocket/task_scheduler.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/delivery/websocket/task_scheduler.go b/delivery/websocket/task_scheduler.go index a3bbd19..aa9e7a6 100644 --- a/delivery/websocket/task_scheduler.go +++ b/delivery/websocket/task_scheduler.go @@ -40,7 +40,7 @@ func (s *Server) checkExpiration() { //nolint continue } - // lint error is g115 gosec rule. this rule is broken. + // lint error is g115 gosec rule. this rule is broken. // see: https://github.com/securego/gosec/issues/1288 if err := s.handler.DeleteByID(data[0], types.Kind(kind)); err != nil { //nolint