From f7acf467b28f8637d14d43f361d28435395ad7be Mon Sep 17 00:00:00 2001 From: andig Date: Wed, 7 Dec 2022 18:59:40 +0100 Subject: [PATCH] Modbus: trim zero bytes when converting to string --- provider/modbus.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/provider/modbus.go b/provider/modbus.go index 351b3b429..7dd6878bb 100644 --- a/provider/modbus.go +++ b/provider/modbus.go @@ -1,6 +1,7 @@ package provider import ( + "bytes" "encoding/binary" "errors" "fmt" @@ -221,12 +222,12 @@ func (m *Modbus) IntGetter() func() (int64, error) { // StringGetter executes configured modbus read operation and implements IntProvider func (m *Modbus) StringGetter() func() (string, error) { return func() (string, error) { - bytes, err := m.bytesGetter() + b, err := m.bytesGetter() if err != nil { return "", err } - return strings.TrimSpace(string(bytes)), nil + return strings.TrimSpace(string(bytes.TrimLeft(b, "\x00"))), nil } }