Commit Diff


commit - 01fb39ab76a8b3d6e6f1300b5ef3c5e0fac912c9
commit + 64d8db89b9ae1d0770f75cd7638f1ac14d4bb677
blob - 965d864515ce22d55ef06113ed961162c48674eb
blob + d01b9d73af35372622b0075071ffbd6c108fa4d0
--- kamiftp/ftp.c
+++ kamiftp/ftp.c
@@ -51,6 +51,9 @@
 #include "utils.h"
 #include "log.h"
 
+#define TMPFSTR		"/tmp/kamiftp.XXXXXXXXXX"
+#define TMPFSTRLEN	sizeof(TMPFSTR)
+
 /* flags */
 int		 tls;
 const char	*crtpath;
@@ -840,6 +843,20 @@ do_connect(const char *connspec, const char *path)
 	free(host);
 }
 
+static int
+tmp_file(char sfn[TMPFSTRLEN])
+{
+	int tmpfd;
+
+	strlcpy(sfn, TMPFSTR, TMPFSTRLEN);
+	if ((tmpfd = mkstemp(sfn)) == -1) {
+		warn("mkstemp %s", sfn);
+		return -1;
+	}
+
+	return tmpfd;
+}
+
 static void
 cmd_bell(int argc, const char **argv)
 {
@@ -1049,7 +1066,7 @@ cmd_page(int argc, const char **argv)
 {
 	struct qid qid;
 	int nfid, tmpfd, miss;
-	char sfn[24], p[PATH_MAX], *name, *errstr;
+	char sfn[TMPFSTRLEN], p[PATH_MAX], *name, *errstr;
 
 	if (argc != 1) {
 		puts("usage: page file");
@@ -1070,9 +1087,7 @@ cmd_page(int argc, const char **argv)
 		return;
 	}
 
-	strlcpy(sfn, "/tmp/kamiftp.XXXXXXXXXX", sizeof(sfn));
-	if ((tmpfd = mkstemp(sfn)) == -1) {
-		warn("mkstemp %s", sfn);
+	if ((tmpfd = tmp_file(sfn)) == -1) {
 		do_clunk(nfid);
 		return;
 	}