summaryrefslogtreecommitdiff
blob: 8bb9565e8a078060daa297b5742f20e3fb13bcd0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
diff --exclude='*~' -urN driftnet-0.1.6.orig/display.c driftnet-0.1.6/display.c
--- driftnet-0.1.6.orig/display.c	2005-03-18 07:55:41.000000000 -0500
+++ driftnet-0.1.6/display.c	2005-03-18 09:03:59.000000000 -0500
@@ -20,6 +20,7 @@
 #include <fcntl.h>
 #include <string.h>
 #include <errno.h>
+#include <time.h>
 
 #include <sys/stat.h>
 
@@ -297,7 +298,7 @@
 gboolean pipe_event(GIOChannel chan, GIOCondition cond, gpointer data) {
     static char *path;
     char name[TMPNAMELEN];
-    ssize_t rr;
+    ssize_t rr = 0;
     int nimgs = 0;
 
     if (!path)
diff --exclude='*~' -urN driftnet-0.1.6.orig/driftnet.c driftnet-0.1.6/driftnet.c
--- driftnet-0.1.6.orig/driftnet.c	2005-03-18 07:55:41.000000000 -0500
+++ driftnet-0.1.6/driftnet.c	2005-03-18 09:07:43.000000000 -0500
@@ -50,6 +50,7 @@
 int verbose, adjunct;
 int tmpdir_specified;
 char *tmpdir;
+char tmpdir_template[] = "driftnet-XXXXXX";
 int max_tmpfiles;
 
 enum mediatype extract_type = m_image;
@@ -474,6 +475,8 @@
     int mpeg_player_specified = 0;
     pthread_t packetth;
 
+    tmpdir = NULL;
+
     /* Handle command-line options. */
     opterr = 0;
     while ((c = getopt(argc, argv, optstring)) != -1) {
@@ -584,12 +587,10 @@
         }
     } else {
         /* need to make a temporary directory. */
-        for (;;) {
-            tmpdir = strdup(tmpnam(NULL));
-            if (mkdir(tmpdir, 0700) == 0)
-                break;
-            free(tmpdir);
-        }
+	if (!(tmpdir = mkdtemp(tmpdir_template))) {
+	    fprintf(stderr, PROGNAME": mkdtemp: %s\n", strerror(errno));
+	    return -1;
+	}
     }
 
     if (verbose) 
diff --exclude='*~' -urN driftnet-0.1.6.orig/playaudio.c driftnet-0.1.6/playaudio.c
--- driftnet-0.1.6.orig/playaudio.c	2005-03-18 07:55:41.000000000 -0500
+++ driftnet-0.1.6/playaudio.c	2005-03-18 09:03:59.000000000 -0500
@@ -167,7 +167,7 @@
 static void mpeg_player_manager(void) {
     extern sig_atomic_t foad; /* in driftnet.c */
     struct sigaction sa = {0};
-    pid_t mpeg_pid;
+    pid_t mpeg_pid = -1;
 
     sa.sa_handler = SIG_DFL;
     sigaction(SIGCHLD, &sa, NULL);