1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-05 22:43:24 +00:00
freebsd-ports/net-mgmt/arpwatch/files/patch-ad
Maxim Sobolev 551cb65285 Use mkstemp() instead of insecure mktemp().
PR:			19047
Hall of Shame entry:	Mikhail Teterin <mi@aldan.algebra.com> (for his !@#$%^ ego)
2000-06-09 07:23:48 +00:00

30 lines
733 B
Plaintext

--- report.c.orig Fri Jun 9 09:54:48 2000
+++ report.c Fri Jun 9 10:05:58 2000
@@ -249,6 +249,9 @@
char *unknown = "<unknown>";
char buf[132];
static int init = 0;
+#ifdef HAVE_MKSTEMP
+ int fd;
+#endif
/* No report until we're initialized */
if (initializing)
@@ -286,8 +289,16 @@
/* Child */
closelog();
(void)strcpy(tempfile, "/tmp/arpwatch.XXXXXX");
+#ifndef HAVE_MKSTEMP
(void)mktemp(tempfile);
if ((f = fopen(tempfile, "w+")) == NULL) {
+#else
+ if ((fd = mkstemp(tempfile)) == -1) {
+ syslog(LOG_ERR, "child mkstemp(%s): %m", tempfile);
+ exit(1);
+ }
+ if ((f = fdopen(fd, "w+")) == NULL) {
+#endif /* HAVE_MKSTEMP */
syslog(LOG_ERR, "child open(%s): %m", tempfile);
exit(1);
}