From d9ad500cf70840686704f2952e443b8ecdbd0617 Mon Sep 17 00:00:00 2001 From: Damian Gryski Date: Sun, 26 Sep 2021 12:54:05 -0700 Subject: [PATCH] src/reflect: fix type.Size() to account for struct padding Fixes #2141 --- src/reflect/type.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reflect/type.go b/src/reflect/type.go index 5424336e..0d4d2473 100644 --- a/src/reflect/type.go +++ b/src/reflect/type.go @@ -554,7 +554,7 @@ func (t rawType) Size() uintptr { return 0 } lastField := t.rawField(numField - 1) - return lastField.Offset + lastField.Type.Size() + return align(lastField.Offset+lastField.Type.Size(), uintptr(t.Align())) default: panic("unimplemented: size of type") }