summaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorPhilip Hands <phil@hands.com>2020-10-03 21:10:03 +0200
committerDarren Tucker <dtucker@dtucker.net>2020-10-13 12:44:38 +1100
commit108676c3f26be6c873db0dd8754063699908727b (patch)
treee8e047a5061c231c42d796eec51190a1d178e0b1 /contrib
parenta9c9e91a82bc1a2cf801b4e3ef27a941dbd27717 (diff)
downloadopenssh-git-108676c3f26be6c873db0dd8754063699908727b.tar.gz
tidy up test of $SCRATCH_DIR creation
SSH-Copy-ID-Upstream: 2d8b22d96c105d87743ffe8874887b06f8989b93
Diffstat (limited to 'contrib')
-rw-r--r--contrib/ssh-copy-id14
1 files changed, 6 insertions, 8 deletions
diff --git a/contrib/ssh-copy-id b/contrib/ssh-copy-id
index 6b8aca7d..d7c3a61f 100644
--- a/contrib/ssh-copy-id
+++ b/contrib/ssh-copy-id
@@ -290,17 +290,15 @@ installkeys_via_sftp() {
# create a scratch dir for any temporary files needed
-SCRATCH_DIR=$(mktemp -d ~/.ssh/ssh-copy-id.XXXXXXXXXX)
-if test $? -ne 0 || test "x$SCRATCH_DIR" = "x" ; then
- printf '%s: ERROR: mktemp failed\n' "$0" >&2
- exit 1
-fi
-chmod 0700 $SCRATCH_DIR
-if [ -d "$SCRATCH_DIR" ] ; then
+if SCRATCH_DIR=$(mktemp -d ~/.ssh/ssh-copy-id.XXXXXXXXXX) &&
+ [ "$SCRATCH_DIR" ] && [ -d "$SCRATCH_DIR" ]
+then
+ chmod 0700 "$SCRATCH_DIR"
SCRATCH_CLEANUP="rm -rf \"$SCRATCH_DIR\""
+ #shellcheck disable=SC2064
trap "$SCRATCH_CLEANUP" EXIT TERM INT QUIT
else
- printf '%s: ERROR: Required scratch directory (%s) was not created\n' "$0" "$SCRATCH_DIR" >&2
+ printf '%s: ERROR: failed to create required temporary directory under ~/.ssh\n' "$0" >&2
exit 1
fi