From f90cc29837566e205aff31cc2ceb0c620b6e1f23 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Fri, 11 Aug 2023 15:43:04 +0000 Subject: [PATCH] vpython: clear DEPOT_TOOLS_DIR before running scripts Once we're done using DEPOT_TOOLS_DIR to bootstrap ourselves, remove it from the env so it isn't passed to the python script which might in turn run commands from other depot_tools trees. Like gclient and running chromium/src/third_party/depot_tools/ programs. Bug: 1470590 Change-Id: I3dee847e45896ee25f01054026805277fc373c37 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4764126 Auto-Submit: Mike Frysinger Reviewed-by: Joanna Wang Commit-Queue: Mike Frysinger --- vpython | 6 +++++- vpython3 | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/vpython b/vpython index 42d112fa7..55fd4aadc 100755 --- a/vpython +++ b/vpython @@ -42,11 +42,15 @@ export DEPOT_TOOLS_UNAME_S="${DEPOT_TOOLS_UNAME_S:-$(uname -s | tr '[:upper:]' ' source "${DEPOT_TOOLS_DIR}/cipd_bin_setup.sh" cipd_bin_setup &> /dev/null +# Don't pass this to the Python script as it might turn around and run commands +# in other depot_tools dirs. +base_dir="${DEPOT_TOOLS_DIR}" +unset DEPOT_TOOLS_DIR case "${DEPOT_TOOLS_UNAME_S}" in mingw*|cygwin*) cmd.exe //c $0.bat "$@" ;; *) - exec "${DEPOT_TOOLS_DIR}/.cipd_bin/vpython" "$@" + exec "${base_dir}/.cipd_bin/vpython" "$@" ;; esac diff --git a/vpython3 b/vpython3 index 3f2373dd3..1ff7a2520 100755 --- a/vpython3 +++ b/vpython3 @@ -40,11 +40,15 @@ export DEPOT_TOOLS_UNAME_S="${DEPOT_TOOLS_UNAME_S:-$(uname -s | tr '[:upper:]' ' source "${DEPOT_TOOLS_DIR}/cipd_bin_setup.sh" cipd_bin_setup &> /dev/null +# Don't pass this to the Python script as it might turn around and run commands +# in other depot_tools dirs. +base_dir="${DEPOT_TOOLS_DIR}" +unset DEPOT_TOOLS_DIR case "${DEPOT_TOOLS_UNAME_S}" in mingw*|cygwin*) cmd.exe //c $0.bat "$@" ;; *) - exec "${DEPOT_TOOLS_DIR}/.cipd_bin/vpython3" "$@" + exec "${base_dir}/.cipd_bin/vpython3" "$@" ;; esac