summaryrefslogtreecommitdiffstats
path: root/tools/clang
diff options
context:
space:
mode:
authortfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-03 03:11:14 +0000
committertfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-03 03:11:14 +0000
commit17db9e52e399dbc4a8b857fe42c3076d0ee09ce0 (patch)
tree58d8d0a17ccdc876ad421f4fac007d9c96eb66b9 /tools/clang
parent5795629c093248519fa3953b8f5526cf8328e123 (diff)
downloadchromium_src-17db9e52e399dbc4a8b857fe42c3076d0ee09ce0.zip
chromium_src-17db9e52e399dbc4a8b857fe42c3076d0ee09ce0.tar.gz
chromium_src-17db9e52e399dbc4a8b857fe42c3076d0ee09ce0.tar.bz2
clang: Fix security issues in update.sh script.
- Use "${FOO}" for variable expansion. - Use "$(CMD)" for command expansion. Issues originally pointed in http://codereview.chromium.org/6588125/ by Markus. BUG=None TEST=run the script. It should works as before. Review URL: http://codereview.chromium.org/6603002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76699 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools/clang')
-rwxr-xr-xtools/clang/scripts/update.sh50
1 files changed, 24 insertions, 26 deletions
diff --git a/tools/clang/scripts/update.sh b/tools/clang/scripts/update.sh
index 97f391f..619454d 100755
--- a/tools/clang/scripts/update.sh
+++ b/tools/clang/scripts/update.sh
@@ -7,9 +7,9 @@
CLANG_REVISION=126303
-THIS_DIR=$(dirname $0)
-LLVM_DIR=$THIS_DIR/../../../third_party/llvm
-CLANG_DIR=$LLVM_DIR/tools/clang
+THIS_DIR="$(dirname "${0}")"
+LLVM_DIR="${THIS_DIR}"/../../../third_party/llvm
+CLANG_DIR="${LLVM_DIR}"/tools/clang
# Die if any command dies.
set -e
@@ -17,41 +17,39 @@ set -e
# Echo all commands.
set -x
-# Build clang.
-
# Check out.
-svn co --force http://llvm.org/svn/llvm-project/llvm/trunk@$CLANG_REVISION $LLVM_DIR
-svn co --force http://llvm.org/svn/llvm-project/cfe/trunk@$CLANG_REVISION $CLANG_DIR
+svn co --force http://llvm.org/svn/llvm-project/llvm/trunk@"${CLANG_REVISION}" \
+ "${LLVM_DIR}"
+svn co --force http://llvm.org/svn/llvm-project/cfe/trunk@"${CLANG_REVISION}" \
+ "${CLANG_DIR}"
-# Build (in a separate directory).
+# Build clang (in a separate directory).
# The clang bots have this path hardcoded in built/scripts/slave/compile.py,
# so if you change it you also need to change these links.
-mkdir -p $LLVM_DIR/../llvm-build
-cd $LLVM_DIR/../llvm-build
+mkdir -p "${LLVM_DIR}"/../llvm-build
+cd "${LLVM_DIR}"/../llvm-build
if [ ! -f ./config.status ]; then
../llvm/configure --enable-optimized
fi
NUM_JOBS=3
-if [ $(uname -s) = "Linux" ]; then
- NUM_JOBS=$(grep -c "^processor" /proc/cpuinfo)
-elif [ $(uname -s) = "Darwin" ]; then
- NUM_JOBS=$(sysctl -n hw.ncpu)
+if [ "$(uname -s)" = "Linux" ]; then
+ NUM_JOBS="$(grep -c "^processor" /proc/cpuinfo)"
+elif [ "$(uname -s)" = "Darwin" ]; then
+ NUM_JOBS="$(sysctl -n hw.ncpu)"
fi
-make -j$NUM_JOBS
+make -j"${NUM_JOBS}"
cd -
# Build plugin.
# Copy it into the clang tree and use clang's build system to compile the
# plugin.
-PLUGIN_SRC_DIR=$THIS_DIR/../plugins
-PLUGIN_DST_DIR=$LLVM_DIR/../llvm/tools/clang/tools/chrome-plugin
-PLUGIN_BUILD_DIR=$LLVM_DIR/../llvm-build/tools/clang/tools/chrome-plugin
-rm -rf $PLUGIN_DST_DIR
-cp -R $PLUGIN_SRC_DIR $PLUGIN_DST_DIR
-rm -rf $PLUGIN_BUILD_DIR
-mkdir -p $PLUGIN_BUILD_DIR
-cp $PLUGIN_SRC_DIR/Makefile $PLUGIN_BUILD_DIR
-cd $PLUGIN_BUILD_DIR
-make -j$NUM_JOBS
-cd -
+PLUGIN_SRC_DIR="${THIS_DIR}"/../plugins
+PLUGIN_DST_DIR="${LLVM_DIR}"/../llvm/tools/clang/tools/chrome-plugin
+PLUGIN_BUILD_DIR="${LLVM_DIR}"/../llvm-build/tools/clang/tools/chrome-plugin
+rm -rf "${PLUGIN_DST_DIR}"
+cp -R "${PLUGIN_SRC_DIR}" "${PLUGIN_DST_DIR}"
+rm -rf "${PLUGIN_BUILD_DIR}"
+mkdir -p "${PLUGIN_BUILD_DIR}"
+cp "${PLUGIN_SRC_DIR}"/Makefile "${PLUGIN_BUILD_DIR}"
+make -j"${NUM_JOBS}" -C "${PLUGIN_BUILD_DIR}"