Skip to content

Commit

Permalink
Merge pull request #3043 from jedevc/fix-shared-op-sigsegv
Browse files Browse the repository at this point in the history
solver: forward nil return value from sharedOp.Exec
  • Loading branch information
tonistiigi committed Aug 22, 2022
2 parents cdd7d20 + c58f128 commit b50172e
Showing 1 changed file with 10 additions and 4 deletions.
14 changes: 10 additions & 4 deletions solver/jobs.go
Expand Up @@ -817,8 +817,11 @@ func (s *sharedOp) Exec(ctx context.Context, inputs []Result) (outputs []Result,
}
flightControlKey := "exec"
res, err := s.g.Do(ctx, flightControlKey, func(ctx context.Context) (ret interface{}, retErr error) {
if s.execRes != nil || s.execErr != nil {
return s.execRes, s.execErr
if s.execErr != nil {
return nil, s.execErr
}
if s.execRes != nil {
return s.execRes, nil
}
release, err := op.Acquire(ctx)
if err != nil {
Expand Down Expand Up @@ -866,9 +869,12 @@ func (s *sharedOp) Exec(ctx context.Context, inputs []Result) (outputs []Result,
}
s.execErr = err
}
return s.execRes, err
if s.execRes == nil || err != nil {
return nil, err
}
return s.execRes, nil
})
if err != nil {
if res == nil || err != nil {
return nil, nil, err
}
r := res.(*execRes)
Expand Down

0 comments on commit b50172e

Please sign in to comment.