internal/impl: fix validation of required group fields
Change-Id: I3c3b5cfbea599dc08096aa5992b7829c2e50f25d
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/218578
Reviewed-by: Joe Tsai <joetsai@google.com>
diff --git a/internal/impl/validate.go b/internal/impl/validate.go
index e568c75..06acc78 100644
--- a/internal/impl/validate.go
+++ b/internal/impl/validate.go
@@ -343,8 +343,10 @@
ok = wtyp == wire.Fixed32Type
case validationTypeFixed64:
ok = wtyp == wire.Fixed64Type
- case validationTypeBytes, validationTypeUTF8String, validationTypeMessage, validationTypeGroup:
+ case validationTypeBytes, validationTypeUTF8String, validationTypeMessage:
ok = wtyp == wire.BytesType
+ case validationTypeGroup:
+ ok = wtyp == wire.StartGroupType
}
if ok {
st.requiredMask |= vi.requiredBit