Fix bug 1146
authorWerner Koch <wk@gnupg.org>
Fri, 18 Dec 2009 16:26:50 +0000 (16:26 +0000)
committerWerner Koch <wk@gnupg.org>
Fri, 18 Dec 2009 16:26:50 +0000 (16:26 +0000)
tools/ChangeLog
tools/applygnupgdefaults

index b839c4d..efb0478 100644 (file)
@@ -1,3 +1,7 @@
+2009-12-18  Werner Koch  <wk@g10code.com>
+
+       * applygnupgdefaults (errorfile): Use mktemp.  Fixes bug#1146.
+
 2009-12-08  Marcus Brinkmann  <marcus@g10code.de>
 
        * gpg-connect-agent.c (main): Convert posix fd to assuan fd.
index 882189c..b4cff63 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/sh                                               
-# Apply defaults from/etc/gnupg/gpg.conf to all users             -*- sh -*-
+# Apply defaults from /etc/gnupg/gpg.conf to all users             -*- sh -*-
 #
 # Copyright 2007 Free Software Foundation, Inc.
 #
@@ -16,7 +16,7 @@ errorfile=
 
 error () {
   echo "$PGM: $*" >&2
-  echo "$PGM: $*" >>$errorfile
+  [ -n "$errorfile" ] && echo "$PGM: $*" >>$errorfile
 }
 
 info () {
@@ -34,9 +34,8 @@ cleanup ()
     [ -n "$errorfile" -a -f "$errorfile" ] && rm "$errorfile"
 }
 trap cleanup EXIT SIGINT SIGHUP SIGPIPE
-errorfile="/tmp/$PGM.$$.log"
-: >$errorfile
-
+errorfile=$(mktemp "/tmp/$PGM.log.XXXXXX")
+[ -n "$errorfile" -a -f "$errorfile" ] || exit 2
 
 # Check whether we can use getent
 if getent --help </dev/null >/dev/null 2>&1 ; then
@@ -62,7 +61,7 @@ fi
 
 ${cat_passwd} \
   | while IFS=: read -r user dmy_a uid dmy_c dmy_d home shell dmy_rest; do
-    # Process only entires with a valid login shell
+    # Process only entries with a valid login shell
     grep </etc/shells "^$shell" 2>/dev/null >/dev/null || continue
     # and with an existant gnupg home directory
     [ -d "$home/.gnupg" ] || continue