summaryrefslogtreecommitdiffstats
path: root/usr.sbin/tcpdump/privsep_pcap.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/tcpdump/privsep_pcap.c')
-rw-r--r--usr.sbin/tcpdump/privsep_pcap.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/usr.sbin/tcpdump/privsep_pcap.c b/usr.sbin/tcpdump/privsep_pcap.c
index 463e2871ae9..1ca6c7fb3ff 100644
--- a/usr.sbin/tcpdump/privsep_pcap.c
+++ b/usr.sbin/tcpdump/privsep_pcap.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: privsep_pcap.c,v 1.19 2015/10/01 13:18:40 jsg Exp $ */
+/* $OpenBSD: privsep_pcap.c,v 1.20 2016/05/03 07:41:24 natano Exp $ */
/*
* Copyright (c) 2004 Can Erkin Acar
@@ -175,20 +175,14 @@ int
pcap_live(const char *device, int snaplen, int promisc, u_int dlt,
u_int dirfilt)
{
- char bpf[sizeof "/dev/bpf0000000000"];
- int fd, n = 0;
+ int fd;
struct ifreq ifr;
unsigned v;
if (device == NULL || snaplen <= 0)
return (-1);
- do {
- snprintf(bpf, sizeof(bpf), "/dev/bpf%d", n++);
- fd = open(bpf, O_RDONLY);
- } while (fd < 0 && errno == EBUSY);
-
- if (fd < 0)
+ if ((fd = open("/dev/bpf", O_RDONLY)) == -1)
return (-1);
v = 32768; /* XXX this should be a user-accessible hook */