
  * Fix insecure temporary file problems for immknmz and impwagent.
    (CVE Id: CAN-2002-1395, backport from im-141+tats20021028.diff)

--- im-141.orig/immknmz.in
+++ im-141/immknmz.in
@@ -144,7 +144,12 @@
 	}
 
 	if ( scalar(@filelist) > 0 ){
-	    im_open(\*TEMPFILE,">$tempfile");
+	    unless (sysopen(\*TEMPFILE, "$tempfile",
+			    O_RDWR()|O_CREAT()|O_EXCL(), 0600)) {
+		print STDERR "$Prog: can not create file: $tempfile.\n";
+		exit 1;
+	    }
+	    binmode(\*TEMPFILE);
 	    foreach ( @filelist ){
 		if (!-d "$msgdir/$_"){
 		    if ((&win95p() || &os2p()) && !&namazuv2()){
--- im-141.orig/impwagent.in
+++ im-141/impwagent.in
@@ -103,7 +103,10 @@
 	exit 1;
     }
 
-    mkdir ($dir, 0700);
+    unless (mkdir($dir, 0700)) {
+	print STDERR "$Prog: can not create directory: $dir.\n";
+	exit 1;
+    }
 
     unless (socket(SOCK, &AF_INET, &SOCK_STREAM, 0)) {
 	print STDERR "$Prog: socket: $!\n";
@@ -126,7 +129,10 @@
 	exit 1;
     }
 
-    mkdir ($dir, 0700);
+    unless (mkdir($dir, 0700)) {
+	print STDERR "$Prog: can not create directory: $dir.\n";
+	exit 1;
+    }
 
     unless (socket(SOCK, &AF_UNIX, &SOCK_STREAM, 0)) {
 	print STDERR "$Prog: socket: $!\n";
