Skip to content

Commit ba87b9d

Browse files
thinkAfCodGrapeBaBa
authored andcommitted
fix: fix memory leak
1 parent 7b4b081 commit ba87b9d

File tree

3 files changed

+16
-2
lines changed

3 files changed

+16
-2
lines changed

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ require (
5555
github.com/mattn/go-sqlite3 v1.14.18
5656
github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416
5757
github.com/olekukonko/tablewriter v0.0.5
58-
github.com/optimism-java/utp-go v0.0.0-20240309041853-b6b3a0dea581
58+
github.com/optimism-java/utp-go v0.0.0-20240603010819-75be99daf402
5959
github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7
6060
github.com/protolambda/bls12-381-util v0.1.0
6161
github.com/protolambda/zrnt v0.32.2
@@ -75,7 +75,7 @@ require (
7575
golang.org/x/crypto v0.22.0
7676
golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa
7777
golang.org/x/sync v0.7.0
78-
golang.org/x/sys v0.19.0
78+
golang.org/x/sys v0.20.0
7979
golang.org/x/text v0.14.0
8080
golang.org/x/time v0.5.0
8181
golang.org/x/tools v0.20.0

go.sum

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -431,6 +431,14 @@ github.com/opentracing/opentracing-go v1.1.0 h1:pWlfV3Bxv7k65HYwkikxat0+s3pV4bsq
431431
github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
432432
github.com/optimism-java/utp-go v0.0.0-20240309041853-b6b3a0dea581 h1:ZxgrtI0xIw+clB32iDDDWaiTcCizTeN7rNyzH9YorPI=
433433
github.com/optimism-java/utp-go v0.0.0-20240309041853-b6b3a0dea581/go.mod h1:DZ0jYzLzt4ZsCmhI/iqYgGFoNx45OfpEoKzXB8HVALQ=
434+
github.com/optimism-java/utp-go v0.0.0-20240530085325-d8dd9d262631 h1:01AecSuOSS6fsIU/oTVG/C70hIl3xPen99qy2hGr57w=
435+
github.com/optimism-java/utp-go v0.0.0-20240530085325-d8dd9d262631/go.mod h1:DZ0jYzLzt4ZsCmhI/iqYgGFoNx45OfpEoKzXB8HVALQ=
436+
github.com/optimism-java/utp-go v0.0.0-20240531021243-e12d25b6be38 h1:t0gRqfM7wUrFyryagUpw4TmYY0DLt+rjPaBd92i+W2M=
437+
github.com/optimism-java/utp-go v0.0.0-20240531021243-e12d25b6be38/go.mod h1:DZ0jYzLzt4ZsCmhI/iqYgGFoNx45OfpEoKzXB8HVALQ=
438+
github.com/optimism-java/utp-go v0.0.0-20240531024756-00da67044c50 h1:I1jGQkNEWq7BTFZkCJKLDrqFLC1jR3EC7jz3to4kpLg=
439+
github.com/optimism-java/utp-go v0.0.0-20240531024756-00da67044c50/go.mod h1:DZ0jYzLzt4ZsCmhI/iqYgGFoNx45OfpEoKzXB8HVALQ=
440+
github.com/optimism-java/utp-go v0.0.0-20240603010819-75be99daf402 h1:jssfGQq6xdzgs0ZI/O/S2dKAyh2fIDiOTWdrbqat1Ls=
441+
github.com/optimism-java/utp-go v0.0.0-20240603010819-75be99daf402/go.mod h1:DZ0jYzLzt4ZsCmhI/iqYgGFoNx45OfpEoKzXB8HVALQ=
434442
github.com/optimism-java/zrnt v0.32.4-0.20240415084906-d9dbf06b32f7 h1:ZTQWXQ8xblCRUXhZs3h5qrBMSAHe8iNH7BG7a7IVFlI=
435443
github.com/optimism-java/zrnt v0.32.4-0.20240415084906-d9dbf06b32f7/go.mod h1:A0fezkp9Tt3GBLATSPIbuY4ywYESyAuc/FFmPKg8Lqs=
436444
github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7 h1:oYW+YCJ1pachXTQmzR3rNLYGGz4g/UgFcjb28p/viDM=
@@ -709,6 +717,8 @@ golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
709717
golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
710718
golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o=
711719
golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
720+
golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y=
721+
golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
712722
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
713723
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
714724
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=

p2p/discover/portal_protocol.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -694,6 +694,7 @@ func (p *PortalProtocol) processContent(target *enode.Node, resp []byte) (byte,
694694
p.Log.Error("failed to read from utp connection", "err", err)
695695
return 0xff, nil, err
696696
}
697+
conn.Close()
697698
p.Log.Trace("Received content response", "id", target.ID(), "size", len(data), "data", data)
698699
return resp[1], data, nil
699700
case portalwire.ContentEnrsSelector:
@@ -1043,6 +1044,7 @@ func (p *PortalProtocol) handleFindContent(id enode.ID, addr *net.UDPAddr, reque
10431044
connIdSend := connId.SendId()
10441045

10451046
go func(bctx context.Context) {
1047+
defer p.connIdGen.Remove(connId)
10461048
for {
10471049
select {
10481050
case <-bctx.Done():
@@ -1165,6 +1167,7 @@ func (p *PortalProtocol) handleOffer(id enode.ID, addr *net.UDPAddr, request *po
11651167
connIdSend := connId.SendId()
11661168

11671169
go func(bctx context.Context) {
1170+
defer p.connIdGen.Remove(connId)
11681171
for {
11691172
select {
11701173
case <-bctx.Done():
@@ -1193,6 +1196,7 @@ func (p *PortalProtocol) handleOffer(id enode.ID, addr *net.UDPAddr, request *po
11931196
p.Log.Error("failed to read from utp connection", "err", err)
11941197
return
11951198
}
1199+
conn.Close()
11961200
p.Log.Trace("Received offer content response", "id", id, "size", len(data), "data", data)
11971201

11981202
err = p.handleOfferedContents(id, contentKeys, data)

0 commit comments

Comments
 (0)