Commit 5022b618 authored by Jeffrey Wilcke's avatar Jeffrey Wilcke

Merge pull request #327 from fjl/udp-out-of-range

p2p/discover: fix pending replies iteration
parents 5238b943 7ea131d4
...@@ -253,7 +253,8 @@ func (t *udp) loop() { ...@@ -253,7 +253,8 @@ func (t *udp) loop() {
case reply := <-t.replies: case reply := <-t.replies:
// run matching callbacks, remove if they return false. // run matching callbacks, remove if they return false.
for i, p := range pending { for i := 0; i < len(pending); i++ {
p := pending[i]
if reply.from == p.from && reply.ptype == p.ptype && p.callback(reply.data) { if reply.from == p.from && reply.ptype == p.ptype && p.callback(reply.data) {
p.errc <- nil p.errc <- nil
copy(pending[i:], pending[i+1:]) copy(pending[i:], pending[i+1:])
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment