Skip to content

Commit 5cf1356

Browse files
Merge pull request #3255 from dvrkps/usecancel
Use cancel on errors
2 parents 836cf53 + 38e3696 commit 5cf1356

1 file changed

Lines changed: 9 additions & 1 deletion

File tree

  • runtime/v1/linux/proc

runtime/v1/linux/proc/io.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -271,27 +271,35 @@ func newBinaryIO(ctx context.Context, id string, uri *url.URL) (runc.IO, error)
271271
)
272272
out, err := newPipe()
273273
if err != nil {
274+
cancel()
274275
return nil, err
275276
}
276277
serr, err := newPipe()
277278
if err != nil {
279+
cancel()
278280
return nil, err
279281
}
280282
r, w, err := os.Pipe()
281283
if err != nil {
284+
cancel()
282285
return nil, err
283286
}
284287
cmd.ExtraFiles = append(cmd.ExtraFiles, out.r, serr.r, w)
285288
// don't need to register this with the reaper or wait when
286289
// running inside a shim
287290
if err := cmd.Start(); err != nil {
291+
cancel()
288292
return nil, err
289293
}
290294
// close our side of the pipe after start
291-
w.Close()
295+
if err := w.Close(); err != nil {
296+
cancel()
297+
return nil, err
298+
}
292299
// wait for the logging binary to be ready
293300
b := make([]byte, 1)
294301
if _, err := r.Read(b); err != nil && err != io.EOF {
302+
cancel()
295303
return nil, err
296304
}
297305
return &binaryIO{

0 commit comments

Comments
 (0)