$FreeBSD: ports/mail/p5-Mail-SpamAssassin/files/patch-bug6655,v 1.1 2011/08/30 12:43:25 crees Exp $

https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6655

--- lib/Mail/SpamAssassin/Util.pm	2011-06-06 19:59:17.000000000 -0400
+++ lib/Mail/SpamAssassin/Util.pm	2011-08-26 17:12:19.000000000 -0400
@@ -1025,6 +1024,8 @@
     return;
   }
 
+  opendir(my $dh, $tmpdir) || die "Could not open $tmpdir: $!";
+  closedir $dh;
   my ($reportfile, $tmpfile);
   my $umask = umask 077;
 
@@ -1052,7 +1053,10 @@
 
     # ensure the file handle is not semi-open in some way
     if ($tmpfile) {
-      close $tmpfile  or info("error closing $reportfile: $!");
+      if (! close $tmpfile) {
+       info("error closing $reportfile: $!");
+       $tmpfile=undef;
+      }
     }
   }

--- sa-update.raw    2011-06-24 13:38:50.000000000 -0400
+++ sa-update.raw    2011-08-29 09:38:50.000000000 -0400
@@ -677,9 +677,9 @@
 
   # Write the content out to a temp file for GPG/Archive::Tar interaction
   dbg("channel: populating temp content file");
-  open(TMP, ">$content_file") || die "fatal: can't write to content temp file $content_file: $!\n";
+  open(TMP, ">$content_file") || die "fatal: couldn't create content temp file $content_file: $!\n";
   binmode TMP;
-  print TMP $content;
+  print TMP $content || die "fatal: can't write to content temp file $content_file: $!\n";
   close(TMP);
 
   # to sign  : gpg -bas file
@@ -695,7 +695,7 @@
       die "fatal: couldn't create temp file for GPG signature: $!\n";
     }
     binmode $tfh;
-    print $tfh $GPG;
+    print $tfh $GPG || die "fatal: can't write temp file for GPG signature: $!\n";
     close($tfh);
 
     dbg("gpg: calling gpg");
