From 710c926b1d2ad312fe50c02e64b28f2f7fa8ba12 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 28 Dec 2025 08:10:01 +0000 Subject: [PATCH] Fix unhandled errors in mcp_inspect.go cleanup operations MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added proper error handling for os.RemoveAll(tmpDir) calls at: - Line 514: When failing to find available port - Line 537: When server fails to start within timeout This addresses security alert #407 (G104 - Errors unhandled). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 --- pkg/cli/mcp_inspect.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkg/cli/mcp_inspect.go b/pkg/cli/mcp_inspect.go index 5b469622ba1..b7c92bcfac3 100644 --- a/pkg/cli/mcp_inspect.go +++ b/pkg/cli/mcp_inspect.go @@ -511,7 +511,9 @@ func startSafeInputsServer(safeInputsConfig *workflow.SafeInputsConfig, verbose // Find an available port for the HTTP server port := findAvailablePort(safeInputsStartPort, verbose) if port == 0 { - os.RemoveAll(tmpDir) + if err := os.RemoveAll(tmpDir); err != nil && verbose { + mcpInspectLog.Printf("Warning: failed to clean up temporary directory %s: %v", tmpDir, err) + } return nil, nil, "", fmt.Errorf("failed to find an available port for the HTTP server") } @@ -534,7 +536,9 @@ func startSafeInputsServer(safeInputsConfig *workflow.SafeInputsConfig, verbose if serverCmd.Process != nil { _ = serverCmd.Process.Kill() } - os.RemoveAll(tmpDir) + if err := os.RemoveAll(tmpDir); err != nil && verbose { + mcpInspectLog.Printf("Warning: failed to clean up temporary directory %s: %v", tmpDir, err) + } return nil, nil, "", fmt.Errorf("safe-inputs HTTP server failed to start within timeout") }