Skip to content

Commit d37116b

Browse files
authored
Merge pull request #3367 from s-z-z/szz
🐛 fix(testing/addr): prevent possible leak by avoiding defer in loop
2 parents 360b636 + b043f01 commit d37116b

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

pkg/internal/testing/addr/manager.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,14 +124,16 @@ func suggest(listenHost string) (*net.TCPListener, int, string, error) {
124124
// Suggest suggests an address a process can listen on. It returns
125125
// a tuple consisting of a free port and the hostname resolved to its IP.
126126
// It makes sure that new port allocated does not conflict with old ports
127-
// allocated within 1 minute.
127+
// allocated within 2 minute.
128128
func Suggest(listenHost string) (int, string, error) {
129129
for i := 0; i < portConflictRetry; i++ {
130130
listener, port, resolvedHost, err := suggest(listenHost)
131131
if err != nil {
132132
return -1, "", err
133133
}
134-
defer listener.Close()
134+
if err := listener.Close(); err != nil {
135+
return -1, "", err
136+
}
135137
if ok, err := cache.add(port); ok {
136138
return port, resolvedHost, nil
137139
} else if err != nil {

0 commit comments

Comments
 (0)