object: prevent potential NPE panic in PutRequest.CID method

This commit is contained in:
Leonard Lyubich 2020-04-03 18:23:24 +03:00
parent 908e0f3c8f
commit e999110be1
2 changed files with 5 additions and 1 deletions

View file

@ -127,7 +127,9 @@ func (m *PutRequest) NotFull() bool { return checkIsNotFull(m) }
// CID returns container id value from object put request.
func (m *PutRequest) CID() CID {
if header := m.GetHeader(); header != nil {
return header.Object.SystemHeader.CID
if obj := header.GetObject(); obj != nil {
return obj.SystemHeader.CID
}
}
return refs.CID{}
}

View file

@ -16,6 +16,7 @@ func TestRequest(t *testing.T) {
&DeleteRequest{},
&GetRangeRequest{},
&GetRangeHashRequest{},
MakePutRequestHeader(nil, nil),
}
types := []RequestType{
@ -26,6 +27,7 @@ func TestRequest(t *testing.T) {
RequestDelete,
RequestRange,
RequestRangeHash,
RequestPut,
}
for i := range cases {