fix this fuzz

arrays with count fileds still wrote their len this is fixed now

go test fuzz v1
[]byte("e000\x00\x010")
This commit is contained in:
adman
2025-12-24 14:45:09 +01:00
parent b9ee608811
commit b713aa499e
+7 -4
View File
@@ -80,10 +80,13 @@ func ArrayEncoder(g *Generator, varToSet ast.Expr, dataRaw any, name string) (s
return return
} }
iName := "i" + name iName := "i" + name
s, err = g.VisitEncoder(varToSet, data.Type, name) //s, err = g.VisitEncoder(varToSet, data.Type, name)
s1, err := g.VisitEncoder(Call(ct, Call(Ident("len"), varToSet)), data.CountType, name) var s1 []ast.Stmt
if err != nil { if data.Count == "" {
return 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") s2, err := g.VisitEncoder(Index(varToSet, Ident(iName)), data.Type, name+"Inner")
if err != nil { if err != nil {