generate: Safely cast in the static decoder

This commit is contained in:
Sasha Koshka 2025-08-29 12:21:10 -04:00
parent 04c352fad6
commit 44fb561758

View File

@ -602,7 +602,7 @@ func (this *Generator) generateDecodeValue(typ Type, typeName, valueSource, tagS
this.pop() this.pop()
nn, err = this.iprintf("}\n") nn, err = this.iprintf("}\n")
n += nn; if err != nil { return n, err } n += nn; if err != nil { return n, err }
nn, err = this.iprintf("buffer := make([]byte, int(%s))\n", lengthVar) nn, err = this.iprintf("buffer := make([]byte, %s)\n", lengthVar)
n += nn; if err != nil { return n, err } n += nn; if err != nil { return n, err }
nn, err = this.iprintf("nn, err = decoder.Read(buffer)\n") nn, err = this.iprintf("nn, err = decoder.Read(buffer)\n")
n += nn; if err != nil { return n, err } n += nn; if err != nil { return n, err }
@ -799,7 +799,7 @@ func (this *Generator) generateDecodeBranch(hash [16]byte, typ Type, typeName st
// problems // problems
// read fields // read fields
nn, err = this.iprintf("for _ = range int(%s) {\n", lengthVar) nn, err = this.iprintf("for _ = range %s {\n", lengthVar)
n += nn; if err != nil { return n, err } n += nn; if err != nil { return n, err }
this.push() this.push()
// read field header // read field header