From 09a9bc289990e3f377a331626b0102283d6f83f4 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Sat, 5 May 2018 05:33:29 +0200 Subject: [PATCH] Fix infinite loop in exit routine --- receive.go | 6 ++++-- send.go | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/receive.go b/receive.go index 1d8b718..dc6488f 100644 --- a/receive.go +++ b/receive.go @@ -245,9 +245,10 @@ func (device *Device) RoutineDecryption() { elem.Drop() } default: - break + goto out } } + out: logDebug.Println("Routine: decryption worker - stopped") }() logDebug.Println("Routine: decryption worker - started") @@ -317,9 +318,10 @@ func (device *Device) RoutineHandshake() { select { case <-device.queue.handshake: default: - return + goto out } } + out: logDebug.Println("Routine: handshake worker - stopped") }() diff --git a/send.go b/send.go index 7423e3b..7abe211 100644 --- a/send.go +++ b/send.go @@ -281,9 +281,10 @@ func (device *Device) RoutineEncryption() { elem.Drop() } default: - break + goto out } } + out: logDebug.Println("Routine: encryption worker - stopped") }()