From a5a1cfa1f3c235f6806a0a6ce2dccae91629958e Mon Sep 17 00:00:00 2001 From: xchacha20-poly1305 Date: Mon, 19 Jan 2026 15:30:08 +0800 Subject: [PATCH 1/2] varbin: Fix array item size --- common/varbin/data.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/varbin/data.go b/common/varbin/data.go index 4c0960de..9a0fb619 100644 --- a/common/varbin/data.go +++ b/common/varbin/data.go @@ -393,7 +393,7 @@ func intItemBaseDataSize(data reflect.Value) int { reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Float32, reflect.Float64, reflect.Complex64, reflect.Complex128: - return itemType.Len() + return int(itemType.Size()) default: return -1 } From ae9f378656da76c5f4221050dd2bfd222446021d Mon Sep 17 00:00:00 2001 From: xchacha20-poly1305 Date: Mon, 19 Jan 2026 15:37:45 +0800 Subject: [PATCH 2/2] Update data.go --- common/varbin/data.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/varbin/data.go b/common/varbin/data.go index 9a0fb619..f2ff78d7 100644 --- a/common/varbin/data.go +++ b/common/varbin/data.go @@ -106,7 +106,7 @@ func read(r Reader, order binary.ByteOrder, data reflect.Value, isArrayMapValue } case reflect.Array: arrayLen := data.Len() - itemSize := data.Type().Elem().Len() + itemSize := int(data.Type().Elem().Size()) if itemSize > 0 { buf := make([]byte, itemSize*arrayLen) _, err := io.ReadFull(r, buf)