Blame aview-1.3.0-tmpvuln.diff

Bernhard M. Wiedemann 9db85b
--- aview-1.3.0/asciiview
Bernhard M. Wiedemann 9db85b
+++ aview-1.3.0/asciiview
Bernhard M. Wiedemann 9db85b
@@ -1,13 +1,19 @@
Bernhard M. Wiedemann 9db85b
 #!/bin/bash
Bernhard M. Wiedemann 9db85b
 # asciiview - an ascii art image browser script. Front end for aview/aaflip
Bernhard M. Wiedemann 9db85b
+
Bernhard M. Wiedemann 9db85b
 clear()
Bernhard M. Wiedemann 9db85b
 {
Bernhard M. Wiedemann 9db85b
   kill $! 2>/dev/null
Bernhard M. Wiedemann 9db85b
-  rm -f /tmp/aview$$.pgm 2>/dev/null
Bernhard M. Wiedemann 9db85b
+  if [ -n $ATMPDIR -a -d $ATMPDIR ]; then
Bernhard M. Wiedemann 9db85b
+	rm -f $ATMPDIR/aview$$.pgm 2>/dev/null && rmdir $ATMPDIR 2>/dev/null
Bernhard M. Wiedemann 9db85b
+  else
Bernhard M. Wiedemann 9db85b
+	echo "Cannot remove temporary directory $ATMPDIR"
Bernhard M. Wiedemann 9db85b
+	exit 1
Bernhard M. Wiedemann 9db85b
+  fi
Bernhard M. Wiedemann 9db85b
 }
Bernhard M. Wiedemann 9db85b
 myconvert()
Bernhard M. Wiedemann 9db85b
 {
Bernhard M. Wiedemann 9db85b
-   if anytopnm $1 >/tmp/aview$$.pgm 2>/dev/null ; then
Bernhard M. Wiedemann 9db85b
+   if anytopnm $1 >$ATMPDIR/aview$$.pgm 2>/dev/null ; then
Bernhard M. Wiedemann 9db85b
      exit
Bernhard M. Wiedemann 9db85b
    elif convert -colorspace gray $1 pgm:- 2>/dev/null ; then
Bernhard M. Wiedemann 9db85b
      exit
Bernhard M. Wiedemann 9db85b
@@ -50,9 +56,10 @@
Bernhard M. Wiedemann 9db85b
       ;;
Bernhard M. Wiedemann 9db85b
   esac
Bernhard M. Wiedemann 9db85b
 done
Bernhard M. Wiedemann 9db85b
+ATMPDIR=`mktemp -d` || exit 1 
Bernhard M. Wiedemann 9db85b
 trap clear 0
Bernhard M. Wiedemann 9db85b
-mkfifo /tmp/aview$$.pgm
Bernhard M. Wiedemann 9db85b
-outfile=/tmp/aview$$.pgm
Bernhard M. Wiedemann 9db85b
+mkfifo $ATMPDIR/aview$$.pgm
Bernhard M. Wiedemann 9db85b
+outfile=$ATMPDIR/aview$$.pgm
Bernhard M. Wiedemann 9db85b
 for name in $filenames ; do
Bernhard M. Wiedemann 9db85b
 if test -r $name ; then
Bernhard M. Wiedemann 9db85b
 case $name in
Bernhard M. Wiedemann 9db85b
@@ -61,10 +68,10 @@
Bernhard M. Wiedemann 9db85b
   aaflip $options $name
Bernhard M. Wiedemann 9db85b
   ;;
Bernhard M. Wiedemann 9db85b
 *)
Bernhard M. Wiedemann 9db85b
-  myconvert $name >/tmp/aview$$.pgm &
Bernhard M. Wiedemann 9db85b
+  myconvert $name >$ATMPDIR/aview$$.pgm &
Bernhard M. Wiedemann 9db85b
   pid=$!
Bernhard M. Wiedemann 9db85b
   PATH="$PATH:."
Bernhard M. Wiedemann 9db85b
-  aview  $options /tmp/aview$$.pgm
Bernhard M. Wiedemann 9db85b
+  aview  $options $ATMPDIR/aview$$.pgm
Bernhard M. Wiedemann 9db85b
   kill $pid 2>/dev/null
Bernhard M. Wiedemann 9db85b
 esac
Bernhard M. Wiedemann 9db85b
 else