if !t.isCompound && t.class == ClassUniversal {
innerBytes := bytes[offset : offset+t.length]
switch t.tag {
+ case TagBoolean:
+ result, err = parseBool(innerBytes)
case TagPrintableString:
result, err = parsePrintableString(innerBytes)
case TagNumericString:
}
}
+func TestIssue68241(t *testing.T) {
+ for i, want := range []any{false, true} {
+ data, err := Marshal(want)
+ if err != nil {
+ t.Errorf("cannot Marshal: %v", err)
+ return
+ }
+
+ var got any
+ _, err = Unmarshal(data, &got)
+ if err != nil {
+ t.Errorf("cannot Unmarshal: %v", err)
+ return
+ }
+ if !reflect.DeepEqual(got, want) {
+ t.Errorf("#%d Unmarshal, got: %v, want: %v", i, got, want)
+ }
+ }
+}
+
func BenchmarkMarshal(b *testing.B) {
b.ReportAllocs()