Skip to content

Commit 0ed6bff

Browse files
committed
close read connection use defer to prevent socket leak
This is to fix #64 Signed-off-by: Leslie Qi Wang <[email protected]>
1 parent b0a0cac commit 0ed6bff

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)