diff -urp driftnet-0.1.6.old/driftnet.c driftnet-0.1.6/driftnet.c
--- driftnet-0.1.6.old/driftnet.c 2002-07-09 20:26:41.000000000 +0100
+++ driftnet-0.1.6/driftnet.c 2005-12-13 16:52:04.000000000 +0000
@@ -585,10 +587,15 @@ int main(int argc, char *argv[]) {
} else {
/* need to make a temporary directory. */
for (;;) {
- tmpdir = strdup(tmpnam(NULL)); /* may generate a warning, but this is safe because we create a directory not a file */
- if (mkdir(tmpdir, 0700) == 0)
- break;
- xfree(tmpdir);
+ const char *tmp;
+ char *template;
+
+ tmp = g_get_tmp_dir();
+ template = g_build_filename(tmp, "drifnet-XXXXXX", NULL);
+ tmpdir = mkdtemp (template);
+ /* Paul: not sure why but this breaks tmpdir: g_free (template); */
+ if (tmpdir)
+ break;
}
}