From 540fd4a3921a4e049893c086fbce27decf4dacf1 Mon Sep 17 00:00:00 2001 From: Jared Allard Date: Thu, 17 Aug 2023 10:51:02 -0700 Subject: [PATCH] fix(portforward): properly use errors.As (#254) `exec.ExitError` only implements the `error` interface if it is a pointer (`Error()` is a pointer reciever). So, in order to use `errors.As` we need to also set `exitError` to be `*exec.ExitError`. Fixes #252 --- internal/proxier/portforward.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/proxier/portforward.go b/internal/proxier/portforward.go index 10a13e9..8f455b9 100644 --- a/internal/proxier/portforward.go +++ b/internal/proxier/portforward.go @@ -423,7 +423,7 @@ func (w *worker) stopPortForward(ctx context.Context, conn *PortForwardConnectio args := []string{"lo0", "-alias", ipStr} if err := exec.Command("ifconfig", args...).Run(); err != nil { message := "" - var exitError exec.ExitError + var exitError *exec.ExitError if ok := errors.As(err, &exitError); ok { message = string(exitError.Stderr) }