[libc++] Use proper shell escaping in the executors
Cr-Mirrored-From: https://chromium.googlesource.com/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: f8452ddfcc3336e42544a35481507f0b3bae423e
diff --git a/utils/run.py b/utils/run.py
index 7cdf652..e9f9859 100644
--- a/utils/run.py
+++ b/utils/run.py
@@ -14,6 +14,7 @@
import argparse
import os
+import pipes
import shutil
import subprocess
import sys
@@ -57,8 +58,9 @@
else:
shutil.copy2(dep, args.execdir)
- # Run the executable with the given environment in the execution directory.
- return subprocess.call(' '.join(remaining), cwd=args.execdir, env=env, shell=True)
+ # Run the command line with the given environment in the execution directory.
+ commandLine = (pipes.quote(x) for x in remaining)
+ return subprocess.call(' '.join(commandLine), cwd=args.execdir, env=env, shell=True)
finally:
shutil.rmtree(args.execdir)