Add typeurl.Is to gate unmarshal

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
This commit is contained in:
Michael Crosby
2017-07-05 16:22:17 -07:00
parent 448dc0dfa8
commit c63b69672e
4 changed files with 44 additions and 19 deletions

View File

@@ -160,8 +160,12 @@ func (t *task) Wait(ctx context.Context) (uint32, error) {
if err != nil {
return UnknownExitStatus, err
}
v, err := typeurl.UnmarshalAny(evt.Event)
if e, ok := v.(*eventsapi.RuntimeEvent); ok {
if typeurl.Is(evt.Event, eventsapi.RuntimeEvent{}) {
v, err := typeurl.UnmarshalAny(evt.Event)
if err != nil {
return UnknownExitStatus, err
}
e := v.(*eventsapi.RuntimeEvent)
if e.Type != eventsapi.RuntimeEvent_EXIT {
continue
}