From: Ian Lance Taylor Date: Wed, 18 Oct 2017 23:04:45 +0000 (-0700) Subject: internal/poll: always decref if setting deadline fails X-Git-Tag: go1.10beta1~665 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=3813f941f6ff80f64d14db35f8b6446e10e45411;p=gostls13.git internal/poll: always decref if setting deadline fails No test because at present it is never called in a way that fails. When #22114 is implemented, failure will be possible. Not including this change in that work because this change is separable and clearly correct. Updates #22114 Change-Id: I81eb9eec8800e8082d918c0e5fb71282f538267e Reviewed-on: https://go-review.googlesource.com/71751 Run-TryBot: Ian Lance Taylor Reviewed-by: Joe Tsai TryBot-Result: Gobot Gobot --- diff --git a/src/internal/poll/fd_poll_runtime.go b/src/internal/poll/fd_poll_runtime.go index bfbe3c7de4..866f26f3fc 100644 --- a/src/internal/poll/fd_poll_runtime.go +++ b/src/internal/poll/fd_poll_runtime.go @@ -147,11 +147,11 @@ func setDeadlineImpl(fd *FD, t time.Time, mode int) error { if err := fd.incref(); err != nil { return err } + defer fd.decref() if fd.pd.runtimeCtx == 0 { return errors.New("file type does not support deadlines") } runtime_pollSetDeadline(fd.pd.runtimeCtx, d, mode) - fd.decref() return nil }