Fixed insecure temporary file creation
[matthijs/upstream/backupninja.git] / backupninja
index 59361b30ae7d004f0768bc48047f2c59967408f0..d52f4cdf45c9c76002b408d0ed446652c3d092f9 100755 (executable)
@@ -305,7 +305,14 @@ function process_action() {
        let "actions_run += 1"
 
        # call the handler:
-       local bufferfile="/tmp/backupninja.buffer.$$"
+       [ if -x /bin/mktemp ]
+       then
+               local bufferfile=`mktemp /tmp/backupninja.buffer.XXXXXXXX`
+       else
+               DATE=`date`
+               sectmp=`echo $DATE | /usr/bin/md5sum | cut -d- -f1`
+               local bufferfile=/tmp/backupninja.buffer.$sectmp
+       fi
        echo "" > $bufferfile
        echo_debug_msg=1
        (
@@ -479,7 +486,7 @@ errormsg=""
 if [ "$singlerun" ]; then
        files=$singlerun
 else
-       files=`find $configdirectory -mindepth 1 | sort -n`
+       files=`find $configdirectory ! -name '.*.swp' -mindepth 1 | sort -n`
 fi
 
 for file in $files; do