Skip to content

Commit 53ccb20

Browse files
authored
fix(rpcreplay): properly unmarshal dynamic message (#9774)
Fixes: #9773
1 parent 8892943 commit 53ccb20

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

rpcreplay/rpcreplay.go

+6-2
Original file line numberDiff line numberDiff line change
@@ -726,14 +726,18 @@ func readEntry(r io.Reader) (*entry, error) {
726726
var msg message
727727
if pe.Message != nil {
728728
if pe.IsError {
729-
var s *spb.Status
729+
s := &spb.Status{}
730730
err := anypb.UnmarshalTo(pe.Message, s, proto.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true})
731731
if err != nil {
732732
return nil, err
733733
}
734734
msg.err = status.ErrorProto(s)
735735
} else {
736-
msg.msg = pe.Message.ProtoReflect().Interface()
736+
m, err := anypb.UnmarshalNew(pe.Message, proto.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true})
737+
if err != nil {
738+
return nil, err
739+
}
740+
msg.msg = m
737741
}
738742
} else if pe.IsError {
739743
msg.err = io.EOF

0 commit comments

Comments
 (0)