From b8da9d1854ebf1c56c0dc4267dad0d1946baa7dd Mon Sep 17 00:00:00 2001 From: Thomas Pelletier Date: Tue, 23 Mar 2021 08:54:44 -0400 Subject: [PATCH] Fix datetime error checking --- decode.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/decode.go b/decode.go index 5bd321e..b016d30 100644 --- a/decode.go +++ b/decode.go @@ -75,7 +75,7 @@ func parseDateTime(b []byte) (time.Time, error) { dt, b, err := parseLocalDateTime(b) if err != nil { - return time.Time{}, nil + return time.Time{}, err } var zone *time.Location @@ -165,10 +165,16 @@ func parseLocalTime(b []byte) (LocalTime, []byte, error) { if err != nil { return t, nil, err } + if b[2] != ':' { + return t, nil, fmt.Errorf("expecting colon between hours and minutes") + } t.Minute, err = parseDecimalDigits(b[3:5]) if err != nil { return t, nil, err } + if b[5] != ':' { + return t, nil, fmt.Errorf("expecting colon between minutes and seconds") + } t.Second, err = parseDecimalDigits(b[6:8]) if err != nil { return t, nil, err