about summary refs log tree commit diff
path: root/pkgs/development/libraries/urt/urt-3.1b-tempfile.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries/urt/urt-3.1b-tempfile.patch')
-rw-r--r--pkgs/development/libraries/urt/urt-3.1b-tempfile.patch19
1 files changed, 19 insertions, 0 deletions
diff --git a/pkgs/development/libraries/urt/urt-3.1b-tempfile.patch b/pkgs/development/libraries/urt/urt-3.1b-tempfile.patch
new file mode 100644
index 000000000000..12acce151b5d
--- /dev/null
+++ b/pkgs/development/libraries/urt/urt-3.1b-tempfile.patch
@@ -0,0 +1,19 @@
+--- tools/rlecat.c
++++ tools/rlecat.c
+@@ -110,8 +110,14 @@
+ 	    nflag = 0;		/* Not really repeating! */
+ 	else
+ 	{
+-	    mktemp( temp );	/* Make a temporary file name */
+-	    tmpfile = rle_open_f( cmd_name( argv ), temp, "w+" );
++	    /* we dont have to use rle_open_f() because all it does in
++	     * this case is run fopen() ... we're creating a file so all
++	     * the checks for opening an existing file aren't needed */
++	    int fd = mkstemp(temp);
++	    if (fd == -1 || (tmpfile = fdopen(fd, "w+")) == NULL) {
++		perror("Unable to open tempfile");
++		exit(-1);
++	    }
+ 	}
+     }
+