From f2d92111c84bc90bb23ab4613da12586faee0884 Mon Sep 17 00:00:00 2001 From: Maciej Kisiel Date: Tue, 3 Mar 2026 11:02:56 +0100 Subject: [PATCH] fix: Validate key length on assignment in decodeStruct --- json/decode.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/json/decode.go b/json/decode.go index c87f01e..3672033 100644 --- a/json/decode.go +++ b/json/decode.go @@ -1193,7 +1193,9 @@ func (d decoder) decodeStruct(b []byte, p unsafe.Pointer, st *structType) ([]byt var f *structField if len(st.keyset) != 0 { if n := keyset.Lookup(st.keyset, k); n < len(st.fields) { - f = &st.fields[n] + if len(st.fields[n].name) == len(k) { + f = &st.fields[n] + } } } else { f = st.fieldsIndex[string(k)]