The declaration of err in
nextByte, err := buffered.ReadByte
shadows the declaration of err in
op, err := buffered.ReadString('\n')
above. As a result, the assignments to err in
err = ipcErrorf(ipc.IpcErrorInvalid, "trailing character in UAPI get: %c", nextByte)
and in
err = device.IpcGetOperation(buffered.Writer)
do not modify the correct err variable.
Found by staticcheck.
Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com>
case "set=1\n":
err = device.IpcSetOperation(buffered.Reader)
case "get=1\n":
- nextByte, err := buffered.ReadByte()
+ var nextByte byte
+ nextByte, err = buffered.ReadByte()
if err != nil {
return
}