Skip to content

fix(devnet.sh): run the build command without eval - #4577

Merged
cbeck88 merged 1 commit into
stagingfrom
fix/devnet-sh-eval
Oct 26, 2026
Merged

cbeck88 merged 1 commit into
stagingfrom
fix/devnet-sh-eval

Conversation

@cbeck88

@cbeck88 cbeck88 commented Oct 25, 2026

Copy link
Copy Markdown
Collaborator

Motivation

scripts/devnet.sh builds its cargo install command as a string and runs it with eval. The shell parses the string again. A checkout path with spaces then breaks the build. The shell also interprets the text from the feature prompt as shell syntax.

This PR builds the command as an array and runs it without eval. The repo path and the feature list each stay one argument.

Copilot reported this on #4525. It is the high-severity item in #4533.

Commits:

  • fix(devnet.sh): run the build command as an argv array instead of eval.

Test Plan

  • bash -n scripts/devnet.sh passes.
  • The pre-commit hook passes, including shellcheck.
  • I ran the array logic alone with a path that contains a space and the feature string test_network;touch PWNED. Each value stayed one argument. The shell did not run touch.

Documentation

None.

Backwards compatibility

None. This change affects only a local developer script.

🤖 Generated with Claude Code

The repo path and the feature list were spliced into a string and
reparsed by eval, so a checkout path with spaces broke the build and
the feature prompt's input was interpreted as shell syntax.

Reported by Copilot on #4525; tracked in #4533.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@cbeck88
cbeck88 requested review from brunoffranca and vicsn October 26, 2026 11:48
@cbeck88
cbeck88 marked this pull request as ready for review October 26, 2026 11:48
@cbeck88
cbeck88 merged commit e43409d into staging Oct 26, 2026
22 checks passed
@cbeck88
cbeck88 deleted the fix/devnet-sh-eval branch October 26, 2026 14:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants