From 0cd2bcd4e97c0851f329a446ea91307b155d9113 Mon Sep 17 00:00:00 2001 From: filifa Date: Tue, 9 Jul 2024 22:20:45 -0500 Subject: [PATCH] handle out-of-range panic --- internal/statsapi/feed.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/internal/statsapi/feed.go b/internal/statsapi/feed.go index 3562b7b..9496199 100644 --- a/internal/statsapi/feed.go +++ b/internal/statsapi/feed.go @@ -76,7 +76,15 @@ func patch(obj any, path string, value any) error { if err != nil { break } - // FIXME: think i need to do bounds checking here too + + if len(v) <= idx { + arr := make([]any, idx+1) + for i, val := range v { + arr[i] = val + } + v = arr + } + err = patch(v[idx], rest, value) default: err = errors.New("couldn't determine type")