[#275] reputation/convert: Add nil check

In `SendIntermediateResultRequestBody`
add nil check for `trust` field.
If true, allocate new `PeerToPeerTrust`.

Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
This commit is contained in:
Pavel Karpy 2021-04-27 09:52:23 +03:00 committed by Pavel Karpy
parent 0f7a14a69f
commit bb217067f4
2 changed files with 13 additions and 5 deletions

View file

@ -476,10 +476,19 @@ func (x *SendIntermediateResultRequestBody) FromGRPCMessage(m grpc.Message) erro
return message.NewUnexpectedMessageType(m, v) return message.NewUnexpectedMessageType(m, v)
} }
err := x.trust.FromGRPCMessage(v.GetTrust()) trust := v.GetTrust()
if trust == nil {
x.trust = nil
} else {
if x.trust == nil {
x.trust = new(PeerToPeerTrust)
}
err := x.trust.FromGRPCMessage(trust)
if err != nil { if err != nil {
return err return err
} }
}
x.epoch = v.GetEpoch() x.epoch = v.GetEpoch()
x.iter = v.GetIteration() x.iter = v.GetIteration()

View file

@ -111,9 +111,8 @@ func GenerateSendIntermediateResultRequestBody(empty bool) *reputation.SendInter
if !empty { if !empty {
m.SetEpoch(123) m.SetEpoch(123)
m.SetIteration(564) m.SetIteration(564)
}
m.SetTrust(GeneratePeerToPeerTrust(empty)) m.SetTrust(GeneratePeerToPeerTrust(empty))
}
return m return m
} }