From 7eb2221a435c75e9ed790d877e663f7d36903757 Mon Sep 17 00:00:00 2001 From: Ahmet Alp Balkan Date: Sun, 8 Mar 2026 16:50:28 -0700 Subject: [PATCH] fix: guard fmt.Errorf %w against nil err errors.Wrap(nil, "msg") returned nil, but fmt.Errorf("msg: %w", nil) returns a non-nil error. Add nil check before wrapping. Co-Authored-By: Claude Opus 4.6 --- cmd/kubectx/switch.go | 6 ++++-- internal/kubeconfig/kubeconfigloader.go | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/cmd/kubectx/switch.go b/cmd/kubectx/switch.go index 2740811..44e0a48 100644 --- a/cmd/kubectx/switch.go +++ b/cmd/kubectx/switch.go @@ -42,8 +42,10 @@ func (op SwitchOp) Run(_, stderr io.Writer) error { if err != nil { return fmt.Errorf("failed to switch context: %w", err) } - err = printer.Success(stderr, "Switched to context \"%s\".", printer.SuccessColor.Sprint(newCtx)) - return fmt.Errorf("print error: %w", err) + if err = printer.Success(stderr, "Switched to context \"%s\".", printer.SuccessColor.Sprint(newCtx)); err != nil { + return fmt.Errorf("print error: %w", err) + } + return nil } // switchContext switches to specified context name. diff --git a/internal/kubeconfig/kubeconfigloader.go b/internal/kubeconfig/kubeconfigloader.go index f9e7d48..7bd06f9 100644 --- a/internal/kubeconfig/kubeconfigloader.go +++ b/internal/kubeconfig/kubeconfigloader.go @@ -53,8 +53,10 @@ func (kf *kubeconfigFile) Reset() error { if err := kf.Truncate(0); err != nil { return fmt.Errorf("failed to truncate file: %w", err) } - _, err := kf.Seek(0, 0) - return fmt.Errorf("failed to seek in file: %w", err) + if _, err := kf.Seek(0, 0); err != nil { + return fmt.Errorf("failed to seek in file: %w", err) + } + return nil } func kubeconfigPath() (string, error) {