From b37e11d74d0ddf1fe56a00b0778ae9a7fccefce3 Mon Sep 17 00:00:00 2001 From: Cameron Moore Date: Sun, 5 Dec 2021 19:00:42 -0600 Subject: [PATCH] Decode: allow maximum seconds value of 60 (#700) RFC3339 allows seconds to be 60 when adding leap seconds --- decode.go | 4 ++-- unmarshaler_test.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/decode.go b/decode.go index 63a756d..60eebea 100644 --- a/decode.go +++ b/decode.go @@ -224,8 +224,8 @@ func parseLocalTime(b []byte) (LocalTime, []byte, error) { return t, nil, err } - if t.Second > 59 { - return t, nil, newDecodeError(b[6:8], "seconds cannot be greater 59") + if t.Second > 60 { + return t, nil, newDecodeError(b[6:8], "seconds cannot be greater 60") } b = b[8:] diff --git a/unmarshaler_test.go b/unmarshaler_test.go index bfbd6e4..2e7e81b 100644 --- a/unmarshaler_test.go +++ b/unmarshaler_test.go @@ -2424,7 +2424,7 @@ world'`, { desc: "invalid seconds value", data: `a=1979-05-27T12:45:99`, - msg: `seconds cannot be greater 59`, + msg: `seconds cannot be greater 60`, }, { desc: `binary with invalid digit`,