From 53fe6f569042200b9a390bccb589829ce1ec0dce Mon Sep 17 00:00:00 2001 From: Jakob Unterwurzacher Date: Sun, 29 Jan 2017 18:24:47 +0100 Subject: [PATCH] ctlsock: abort message processing on JSON error The code was missing a "continue" in that branch. Also improve the error messages a bit. --- internal/ctlsock/ctlsock_serve.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/internal/ctlsock/ctlsock_serve.go b/internal/ctlsock/ctlsock_serve.go index 7e60301..51f1de4 100644 --- a/internal/ctlsock/ctlsock_serve.go +++ b/internal/ctlsock/ctlsock_serve.go @@ -98,12 +98,13 @@ func (ch *ctlSockHandler) handleConnection(conn *net.UnixConn) { var in RequestStruct err = json.Unmarshal(buf, &in) if err != nil { - tlog.Warn.Printf("ctlsock: Unmarshal error: %#v", err) + tlog.Warn.Printf("ctlsock: JSON Unmarshal error: %#v", err) errorMsg := ResponseStruct{ ErrNo: int32(syscall.EINVAL), - ErrText: err.Error(), + ErrText: "JSON Unmarshal error: " + err.Error(), } sendResponse(&errorMsg, conn) + continue } ch.handleRequest(&in, conn) // Restore original size. @@ -139,7 +140,7 @@ func (ch *ctlSockHandler) handleRequest(in *RequestStruct, conn *net.UnixConn) { } } if inPath != clean { - out.WarnText = fmt.Sprintf("Non-canonical input path %q has been interpreted as %q", inPath, clean) + out.WarnText = fmt.Sprintf("Non-canonical input path '%s' has been interpreted as '%s'.", inPath, clean) } sendResponse(&out, conn) }