From aeec9f5d948e11097d625680bdcba8842215b14726a58fdeff6942bcca96fc15 Mon Sep 17 00:00:00 2001 From: Anton Rudenko Date: Mon, 20 Jan 2025 17:30:08 +0300 Subject: [PATCH] check for bad keys when encoding map --- go/encode.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/go/encode.go b/go/encode.go index 5e01ecc..ae741be 100644 --- a/go/encode.go +++ b/go/encode.go @@ -156,6 +156,10 @@ func Encode(w io.Writer, v any, opts *EncodeOpts) (written int64, err error) { sort.Sort(keksort.ByLenFirstRV(keys)) var n64 int64 for _, k := range keys { + if k.Kind() != reflect.String || k.String() == "" { + err = ErrMapBadKey + return + } n64, err = StrEncode(w, k.String()) written += n64 if err != nil { -- 2.48.1