From af636e9b53b528654737fc7b6e95a9aef06c1481 Mon Sep 17 00:00:00 2001 From: Evert Jan Hakvoort Date: Wed, 6 Nov 2024 22:01:35 +0100 Subject: [PATCH 1/2] fix: panic when transport is not initialized --- client.go | 4 ++++ modbus.go | 1 + 2 files changed, 5 insertions(+) diff --git a/client.go b/client.go index ac69d84..cca5bc7 100644 --- a/client.go +++ b/client.go @@ -1184,6 +1184,10 @@ func (mc *ModbusClient) writeRegisters(addr uint16, values []byte) (err error) { } func (mc *ModbusClient) executeRequest(req *pdu) (res *pdu, err error) { + if mc.transport == nil { + err = ErrTransportNotInitialized + return + } // send the request over the wire, wait for and decode the response res, err = mc.transport.ExecuteRequest(req) if err != nil { diff --git a/modbus.go b/modbus.go index 643e2fa..7eaca88 100644 --- a/modbus.go +++ b/modbus.go @@ -70,6 +70,7 @@ const ( ErrBadTransactionId Error = "bad transaction id" ErrUnknownProtocolId Error = "unknown protocol identifier" ErrUnexpectedParameters Error = "unexpected parameters" + ErrTransportNotInitialized Error = "Transport is not initialized" ) // mapExceptionCodeToError turns a modbus exception code into a higher level Error object. From 305f6661ec0f30c35ce46c520fb45a8934a26cbf Mon Sep 17 00:00:00 2001 From: Evert Jan Hakvoort Date: Wed, 6 Nov 2024 22:06:58 +0100 Subject: [PATCH 2/2] convert error message to lowercase --- modbus.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modbus.go b/modbus.go index 7eaca88..73b5f27 100644 --- a/modbus.go +++ b/modbus.go @@ -70,7 +70,7 @@ const ( ErrBadTransactionId Error = "bad transaction id" ErrUnknownProtocolId Error = "unknown protocol identifier" ErrUnexpectedParameters Error = "unexpected parameters" - ErrTransportNotInitialized Error = "Transport is not initialized" + ErrTransportNotInitialized Error = "transport is not initialized" ) // mapExceptionCodeToError turns a modbus exception code into a higher level Error object.