Skip to content

Commit 93c3726

Browse files
committed
Use static sandbox command for sbx launch
1 parent 064d96b commit 93c3726

1 file changed

Lines changed: 16 additions & 18 deletions

File tree

cmd/cli/commands/launch.go

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -190,30 +190,28 @@ Examples:
190190
}
191191

192192
func launchSandboxedHostApp(cmd *cobra.Command, sandboxTool, app string, appArgs []string, dryRun bool) error {
193-
if strings.ContainsAny(sandboxTool, "\x00\r\n") {
194-
return fmt.Errorf("sandbox.tool contains invalid characters")
195-
}
196-
197-
sandboxToolPath, err := exec.LookPath(sandboxTool)
198-
if err != nil {
199-
return fmt.Errorf("sandbox tool %q not found in PATH: %w", sandboxTool, err)
193+
if err := validateSandboxTool(sandboxTool); err != nil {
194+
return err
200195
}
201196

202197
args := append([]string{app}, appArgs...)
203198

204-
if dryRun {
205-
cmd.Printf("%s %s\n", sandboxToolPath, strings.Join(args, " "))
206-
return nil
207-
}
199+
switch sandboxTool {
200+
case "sbx":
201+
if dryRun {
202+
cmd.Printf("sbx %s\n", strings.Join(args, " "))
203+
return nil
204+
}
208205

209-
// #nosec G204 -- sandboxToolPath is an explicit user-configured executable
210-
// selected from allowedSandboxTools. exec.Command does not invoke a shell.
211-
launchCmd := exec.Command(sandboxToolPath, args...)
212-
launchCmd.Stdin = os.Stdin
213-
launchCmd.Stdout = os.Stdout
214-
launchCmd.Stderr = os.Stderr
206+
launchCmd := exec.Command("sbx", args...)
207+
launchCmd.Stdin = os.Stdin
208+
launchCmd.Stdout = os.Stdout
209+
launchCmd.Stderr = os.Stderr
215210

216-
return launchCmd.Run()
211+
return launchCmd.Run()
212+
default:
213+
return fmt.Errorf("unsupported sandbox tool %q", sandboxTool)
214+
}
217215
}
218216

219217
// listSupportedApps prints all supported apps with their descriptions and install status.

0 commit comments

Comments
 (0)