[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Validation failed



On Mon, 09 Oct 2017 15:52:36 +0000
Debian Webmaster wrote:

> Calling POSIX::tmpnam() is deprecated at /srv/www.debian.org/cron/scripts/validate line 578

you guys should fix your scripts immediately instead of throwing useless mails repeatedly;
example patch below;

note: this is not tested in any way; 
	do not blindly apply to production; make sure to do test before that.

-- 
victory
no need to CC me :-)
--
diff --git a/scripts/validate b/scripts/validate
index 24f1f0a..7d20f1c 100755
--- a/scripts/validate
+++ b/scripts/validate
@@ -33,7 +33,7 @@
 use strict;
 use Getopt::Long qw(GetOptions);
 use Text::Wrap qw(wrap);
-use POSIX qw(:fcntl_h);
+use File::Temp;
 
 #####################################################################
 
@@ -573,12 +573,9 @@ sub superChomp {
 # Create temporary file securely
 # Returns the name and file handle of the created file
 sub getTempFile {
-    my $filename;
-    do {
-        $filename = POSIX::tmpnam();
-    } until sysopen(FH, $filename, O_RDWR|O_CREAT|O_EXCL, 0666);
-
-    return ($filename, \*FH);
+    my ($filename, $fh);
+    ($fh, $filename) = File::Temp::tempfile;
+    return ($filename, $fh);
 }
 
 


Reply to: