From 17fc5d71d85858fdb3b89d55ec4351d2c77ce0d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aitor=20P=C3=A9rez=20Cedres?= Date: Wed, 21 Jun 2023 11:44:12 +0100 Subject: [PATCH] Fix panic in tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reported in https://github.com/rabbitmq/amqp091-go/actions/runs/5333022714/jobs/9662961511 ``` panic: runtime error: invalid memory address or nil pointer dereference panic: runtime error: invalid memory address or nil pointer dereference [signal 0xc0000005 code=0x0 addr=0x0 pc=0x7e012c] goroutine 3810 [running]: github.com/rabbitmq/amqp091-go.(*Connection).IsClosed(...) D:/a/amqp091-go/amqp091-go/connection.go:455 github.com/rabbitmq/amqp091-go.(*Connection).Close(0x0) D:/a/amqp091-go/amqp091-go/connection.go:388 +0x4c panic({0x86a960, 0xb32080}) C:/hostedtoolcache/windows/go/1.20.5/x64/src/runtime/panic.go:890 +0x263 github.com/rabbitmq/amqp091-go.(*Connection).ConnectionState(...) D:/a/amqp091-go/amqp091-go/connection.go:317 github.com/rabbitmq/amqp091-go.TestTLSHandshake.func2() D:/a/amqp091-go/amqp091-go/tls_test.go:111 +0x27b created by github.com/rabbitmq/amqp091-go.TestTLSHandshake D:/a/amqp091-go/amqp091-go/tls_test.go:104 +0x3e6 exit status 2 ``` If DialTLS returns an error, c will be nil, causing a panic later on in c.ConnectionState() Signed-off-by: Aitor PĂ©rez Cedres --- tls_test.go | 1 + 1 file changed, 1 insertion(+) diff --git a/tls_test.go b/tls_test.go index bbd0826..9e070e1 100644 --- a/tls_test.go +++ b/tls_test.go @@ -105,6 +105,7 @@ func TestTLSHandshake(t *testing.T) { c, err := DialTLS(srv.URL, tlsClientConfig(t)) if err != nil { errs <- fmt.Errorf("expected to open a TLS connection, got err: %v", err) + return } defer c.Close()