Add safety checks to prevent dangerous deletions
Added multiple safety validations before executing rm -rf commands: - Check WORKTREE_PATH is not empty, /, /Users, or $HOME - Verify we're actually in a git repository (.git exists) This prevents accidental deletion of critical directories if the script is run in the wrong location or with unexpected environment variables. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
4507d99460
commit
c631627200
1 changed files with 12 additions and 0 deletions
|
|
@ -14,6 +14,18 @@ mkdir -p "$CONDUCTOR_ROOT_PATH/vendor"
|
||||||
# Get current worktree path
|
# Get current worktree path
|
||||||
WORKTREE_PATH=$(pwd)
|
WORKTREE_PATH=$(pwd)
|
||||||
|
|
||||||
|
# Safety check: ensure WORKTREE_PATH is valid and not a dangerous location
|
||||||
|
if [ -z "$WORKTREE_PATH" ] || [ "$WORKTREE_PATH" = "/" ] || [ "$WORKTREE_PATH" = "/Users" ] || [ "$WORKTREE_PATH" = "$HOME" ]; then
|
||||||
|
echo "ERROR: Invalid or dangerous WORKTREE_PATH: $WORKTREE_PATH"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Additional safety: ensure we're in a git worktree
|
||||||
|
if [ ! -f ".git" ] && [ ! -d ".git" ]; then
|
||||||
|
echo "ERROR: Not in a git repository"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
# Remove existing directories if they exist and are not symlinks
|
# Remove existing directories if they exist and are not symlinks
|
||||||
[ -d "node_modules" ] && [ ! -L "node_modules" ] && rm -rf "$WORKTREE_PATH/node_modules"
|
[ -d "node_modules" ] && [ ! -L "node_modules" ] && rm -rf "$WORKTREE_PATH/node_modules"
|
||||||
[ -d "vendor" ] && [ ! -L "vendor" ] && rm -rf "$WORKTREE_PATH/vendor"
|
[ -d "vendor" ] && [ ! -L "vendor" ] && rm -rf "$WORKTREE_PATH/vendor"
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue