FreeBSD Bugzilla – Attachment 7963 Details for
Bug 16924
tmpfile(3) ignores TMPDIR and always uses /tmp
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
file.diff
file.diff (text/plain), 1.35 KB, created by
lodea
on 2000-02-23 05:10:01 UTC
(
hide
)
Description:
file.diff
Filename:
MIME Type:
Creator:
lodea
Created:
2000-02-23 05:10:01 UTC
Size:
1.35 KB
patch
obsolete
>Index: tmpfile.c >=================================================================== >RCS file: /home/ncvs/src/lib/libc/stdio/tmpfile.c,v >retrieving revision 1.4 >diff -u -r1.4 tmpfile.c >--- tmpfile.c 2000/01/27 23:06:46 1.4 >+++ tmpfile.c 2000/02/23 04:26:46 >@@ -47,6 +47,7 @@ > #include <stdio.h> > #include <string.h> > #include <paths.h> >+#include <stdlib.h> > > FILE * > tmpfile() >@@ -55,10 +56,24 @@ > FILE *fp; > int fd, sverrno; > #define TRAILER "tmp.XXXXXX" >- char buf[sizeof(_PATH_TMP) + sizeof(TRAILER)]; >+ char *buf; >+ char *envtmpdir; >+ int envtmpdirlen; > >- (void)memcpy(buf, _PATH_TMP, sizeof(_PATH_TMP) - 1); >- (void)memcpy(buf + sizeof(_PATH_TMP) - 1, TRAILER, sizeof(TRAILER)); >+ if ((envtmpdir = getenv("TMPDIR")) != NULL) >+ { >+ envtmpdirlen = strlen(envtmpdir); >+ buf = malloc(envtmpdirlen + 1 + sizeof(TRAILER)); >+ (void)memcpy(buf, envtmpdir, envtmpdirlen); >+ buf[envtmpdirlen] = '/'; >+ (void)memcpy(buf + envtmpdirlen + 1, TRAILER, sizeof(TRAILER)); >+ } >+ else >+ { >+ buf = malloc(sizeof(_PATH_TMP) + sizeof(TRAILER) - 1); >+ (void)memcpy(buf, _PATH_TMP, sizeof(_PATH_TMP) - 1); >+ (void)memcpy(buf + sizeof(_PATH_TMP) - 1, TRAILER, sizeof(TRAILER)); >+ } > > sigfillset(&set); > (void)sigprocmask(SIG_BLOCK, &set, &oset); >@@ -66,6 +81,8 @@ > fd = mkstemp(buf); > if (fd != -1) > (void)unlink(buf); >+ >+ free(buf); > > (void)sigprocmask(SIG_SETMASK, &oset, NULL);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 16924
: 7963