f1a492cf44
Obtained from: RedHat bash-1.14.7-23.5x.src.rpm
28 lines
792 B
C
28 lines
792 B
C
--- execute_cmd.c.orig Thu Jun 8 17:29:00 1995
|
|
+++ execute_cmd.c Fri Nov 24 14:41:40 2000
|
|
@@ -2718,6 +2718,7 @@
|
|
char *redirectee_word;
|
|
enum r_instruction ri = redirect->instruction;
|
|
REDIRECT *new_redirect;
|
|
+ mode_t um;
|
|
|
|
if (ri == r_duplicating_input_word || ri == r_duplicating_output_word)
|
|
{
|
|
@@ -2938,11 +2939,15 @@
|
|
pid_t pid = getpid ();
|
|
|
|
/* Make the filename for the temp file. */
|
|
- sprintf (filename, "/tmp/t%d-sh", pid);
|
|
+ sprintf (filename, "/tmp/t-sh-XXXXXX", pid);
|
|
|
|
- fd = open (filename, O_TRUNC | O_WRONLY | O_CREAT, 0666);
|
|
+ /* O_TRUNC | O_WRONLY | O_CREAT */
|
|
+ fd = mkstemp (filename);
|
|
if (fd < 0)
|
|
return (errno);
|
|
+ um=umask(022);
|
|
+ umask(um);
|
|
+ fchmod(fd, 0666 & ~um);
|
|
|
|
errno = 0; /* XXX */
|
|
if (redirectee->word)
|