Merge pull request #1404 from filecoin-project/asr/segfault

Bugfix: Check if vmctx is nil before dereferencing in ApplyMessage
This commit is contained in:
Whyrusleeping 2020-03-11 13:29:33 -07:00 committed by GitHub
commit 954085d33e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -532,15 +532,21 @@ func (vm *VM) ApplyMessage(ctx context.Context, msg *types.Message) (*ApplyRet,
return nil, xerrors.Errorf("gas handling math is wrong")
}
return &ApplyRet{
r := ApplyRet{
MessageReceipt: types.MessageReceipt{
ExitCode: errcode,
Return: ret,
GasUsed: gasUsed,
},
ActorErr: actorErr,
InternalExecutions: vmctx.internalExecutions,
}, nil
InternalExecutions: nil,
}
if vmctx != nil {
r.InternalExecutions = vmctx.internalExecutions
}
return &r, nil
}
func (vm *VM) SetBlockMiner(m address.Address) {