[ltt-dev] [PATCH] usttrace: allow spaces in command-line arguments

Stefan Hajnoczi stefanha at linux.vnet.ibm.com
Wed Nov 16 05:00:18 EST 2011


The usttrace uses $*, which expands arguments without preserving their
boundaries.  This causes arguments that include spaces to be mangled:

[0] "echo"
[1] "hello world"

becomes:

[0] "echo"
[1] "hello"
[2] "world"

Use "$@" instead so that argument boundaries are preserved.

Signed-off-by: Stefan Hajnoczi <stefanha at linux.vnet.ibm.com>
---
 usttrace |    7 ++-----
 1 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/usttrace b/usttrace
index e76dae7..d1a6e5f 100755
--- a/usttrace
+++ b/usttrace
@@ -85,16 +85,13 @@ if [ -n "$where" ]; then
 	exit 0
 fi
 
-# Prepare vars
-CMD=$*
-
 # Validate input
 if [ -z "$HOME" ];
 then
 	error "no home specified"
 fi
 
-if [ -z "$CMD" ];
+if [ -z "$*" ];
 then
 	error "no command specified"
 	usage;
@@ -196,7 +193,7 @@ fi
     fi
 
 # Execute the command
-    $CMD 2>&1
+    "$@" 2>&1
 ) | tee "$OUTDIR/app.log"
 
 ## Because of the keepalive mechanism, we're sure that by the time
-- 
1.7.7.1





More information about the lttng-dev mailing list