Skip to content

Commit b0f7c38

Browse files
authored
Merge pull request #65 from leslie-qiwa/socket-leak
close read connection use defer to prevent socket leak
2 parents ce130b8 + 0ed6bff commit b0f7c38

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

sender.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,10 @@ func (s *sender) ReadFrom(r io.Reader) (n int64, err error) {
6767
if s.mode == "netascii" {
6868
r = netascii.ToReader(r)
6969
}
70+
defer func() {
71+
s.conn.close()
72+
s.conn = nil
73+
}()
7074
if s.opts != nil {
7175
// check that tsize is set
7276
if ts, ok := s.opts["tsize"]; ok {
@@ -115,7 +119,6 @@ func (s *sender) ReadFrom(r io.Reader) (n int64, err error) {
115119
if s.hook != nil {
116120
s.hook.OnSuccess(s.buildTransferStats())
117121
}
118-
s.conn.close()
119122
return n, nil
120123
}
121124
s.abort(err)
@@ -131,7 +134,6 @@ func (s *sender) ReadFrom(r io.Reader) (n int64, err error) {
131134
if s.hook != nil {
132135
s.hook.OnSuccess(s.buildTransferStats())
133136
}
134-
s.conn.close()
135137
return n, nil
136138
}
137139
s.block++

0 commit comments

Comments
 (0)