diff options
author | Jeff King <peff@peff.net> | 2007-05-25 23:42:36 -0400 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2007-05-25 21:43:33 -0700 |
commit | 4b7cc26a74b01ceab14a32ef66704557b26d5622 (patch) | |
tree | 2719dd1ecc701a0979f440d6b1e9f26e6c590fb4 /git-am.sh | |
parent | c1bab2889eb71bf537497fc77a2fdb6a74bc92e6 (diff) | |
download | git-4b7cc26a74b01ceab14a32ef66704557b26d5622.tar.gz |
git-am: use printf instead of echo on user-supplied strings
Under some implementations of echo (such as that provided by
dash), backslash escapes are recognized without any other
options. This means that echo-ing user-supplied strings may
cause any backslash sequences in them to be converted. Using
printf resolves the ambiguity.
This bug can be seen when using git-am to apply a patch
whose subject contains the character sequence "\n"; the
characters are converted to a literal newline. Noticed by
Szekeres Istvan.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'git-am.sh')
-rwxr-xr-x | git-am.sh | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -331,7 +331,7 @@ do ADD_SIGNOFF= fi { - echo "$SUBJECT" + printf '%s\n' "$SUBJECT" if test -s "$dotest/msg-clean" then echo @@ -394,7 +394,7 @@ do fi echo - echo "Applying '$SUBJECT'" + printf 'Applying %s\n' "$SUBJECT" echo case "$resolved" in |