From b713aa499e596a5911eb0735987b708ca8fdc8f3 Mon Sep 17 00:00:00 2001 From: adman Date: Wed, 24 Dec 2025 14:45:09 +0100 Subject: [PATCH] fix this fuzz arrays with count fileds still wrote their len this is fixed now go test fuzz v1 []byte("e000\x00\x010") --- proto_generator/native_encoder.go | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/proto_generator/native_encoder.go b/proto_generator/native_encoder.go index 6930afc..0887ca7 100644 --- a/proto_generator/native_encoder.go +++ b/proto_generator/native_encoder.go @@ -80,10 +80,13 @@ func ArrayEncoder(g *Generator, varToSet ast.Expr, dataRaw any, name string) (s return } iName := "i" + name - s, err = g.VisitEncoder(varToSet, data.Type, name) - s1, err := g.VisitEncoder(Call(ct, Call(Ident("len"), varToSet)), data.CountType, name) - if err != nil { - return + //s, err = g.VisitEncoder(varToSet, data.Type, name) + var s1 []ast.Stmt + if data.Count == "" { + s1, err = g.VisitEncoder(Call(ct, Call(Ident("len"), varToSet)), data.CountType, name) + if err != nil { + return + } } s2, err := g.VisitEncoder(Index(varToSet, Ident(iName)), data.Type, name+"Inner") if err != nil {