--- SERVER.CPP.orig	Fri Jul 25 23:20:20 2003
+++ SERVER.CPP	Sat Aug  9 01:17:35 2003
@@ -976,11 +976,18 @@
 void S9xNPSyncClient (int client)
 {
     char fname [L_tmpnam];
+    int fd;
 
     S9xNPWaitForEmulationToComplete ();
 
+    int flen = snprintf(fname, sizeof(fname), "%s/snes9x.XXXXXX",
+      getenv("TMPDIR") ? getenv("TMPDIR") : P_tmpdir);
+    if (flen == -1 || flen >= sizeof(fname) || (fd = mkstemp(fname)) == -1)
+	return;
+    close(fd);
+
     S9xNPSetAction ("SERVER: Freezing game...", TRUE);
-    if (tmpnam (fname) && S9xFreezeGame (fname))
+    if (S9xFreezeGame (fname))
     {
         uint8 *data;
         uint32 len;
