From: Philip Hands Date: Sat, 3 Oct 2020 19:10:03 +0000 (+0200) Subject: tidy up test of $SCRATCH_DIR creation X-Git-Tag: V_8_5_P1~247 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=108676c3f26be6c873db0dd8754063699908727b;p=thirdparty%2Fopenssh-portable.git tidy up test of $SCRATCH_DIR creation SSH-Copy-ID-Upstream: 2d8b22d96c105d87743ffe8874887b06f8989b93 --- diff --git a/contrib/ssh-copy-id b/contrib/ssh-copy-id index 6b8aca7d9..d7c3a61f6 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