From e45e61b862118c570edd13daa5202213946f5d20 Mon Sep 17 00:00:00 2001 From: Pierre Krieger Date: Mon, 30 Nov 2020 13:40:08 +0100 Subject: [PATCH 1/2] Fix wrong value put for pending_opening --- client/network/src/protocol/generic_proto/handler.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/client/network/src/protocol/generic_proto/handler.rs b/client/network/src/protocol/generic_proto/handler.rs index 13d44cd1a09af..5fe015720f226 100644 --- a/client/network/src/protocol/generic_proto/handler.rs +++ b/client/network/src/protocol/generic_proto/handler.rs @@ -684,6 +684,7 @@ impl ProtocolsHandler for NotifsHandler { _ => unreachable!() }; + debug_assert_eq!(pending_opening.len(), self.out_protocols.len()); for (n, is_pending) in pending_opening.iter().enumerate() { if *is_pending { continue; @@ -740,8 +741,9 @@ impl ProtocolsHandler for NotifsHandler { match &mut self.state { State::Open { .. } => { + let pending_opening = out_substreams.iter().map(|_| false).collect(); self.state = State::Closed { - pending_opening: Vec::new(), + pending_opening, }; }, State::Opening { out_substreams, .. } => { From 242b88b912c30ff2bdbea74877370e3e1d1f2a2f Mon Sep 17 00:00:00 2001 From: Pierre Krieger Date: Mon, 30 Nov 2020 13:42:12 +0100 Subject: [PATCH 2/2] Oops, didn't even try compiling it --- client/network/src/protocol/generic_proto/handler.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/network/src/protocol/generic_proto/handler.rs b/client/network/src/protocol/generic_proto/handler.rs index 5fe015720f226..e479a34d14f3a 100644 --- a/client/network/src/protocol/generic_proto/handler.rs +++ b/client/network/src/protocol/generic_proto/handler.rs @@ -741,7 +741,7 @@ impl ProtocolsHandler for NotifsHandler { match &mut self.state { State::Open { .. } => { - let pending_opening = out_substreams.iter().map(|_| false).collect(); + let pending_opening = self.out_protocols.iter().map(|_| false).collect(); self.state = State::Closed { pending_opening, };