aboutsummaryrefslogtreecommitdiffstats
path: root/package/ead
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2009-01-04 00:21:24 +0000
committerFelix Fietkau <nbd@openwrt.org>2009-01-04 00:21:24 +0000
commit8997d76472e01fd439eb498c81f9088ab4f31e8e (patch)
treed2cf678cfc963d66d4a39814146e7aa8ff9474c6 /package/ead
parent170e9b2abe9da0569064855eef1691f05f0af5c9 (diff)
downloadupstream-8997d76472e01fd439eb498c81f9088ab4f31e8e.tar.gz
upstream-8997d76472e01fd439eb498c81f9088ab4f31e8e.tar.bz2
upstream-8997d76472e01fd439eb498c81f9088ab4f31e8e.zip
ead: fix bridge handling mistakes
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13846 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/ead')
-rw-r--r--package/ead/src/ead.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/package/ead/src/ead.c b/package/ead/src/ead.c
index c4d3dd9f41..b6a9310f0f 100644
--- a/package/ead/src/ead.c
+++ b/package/ead/src/ead.c
@@ -622,22 +622,21 @@ ead_pcap_reopen(bool first)
{
static char errbuf[PCAP_ERRBUF_SIZE] = "";
- if (pcap_fp_rx != pcap_fp)
+ if (pcap_fp_rx && (pcap_fp_rx != pcap_fp))
pcap_close(pcap_fp_rx);
if (pcap_fp)
pcap_close(pcap_fp);
- pcap_fp_rx = pcap_fp;
+ pcap_fp_rx = NULL;
do {
pcap_fp = pcap_open_live(ifname, PCAP_MRU, 1, PCAP_TIMEOUT, errbuf);
#ifdef linux
- if (brname) {
+ if (brname)
pcap_fp_rx = pcap_open_live(brname, PCAP_MRU, 1, PCAP_TIMEOUT, errbuf);
- if (!pcap_fp_rx)
- pcap_fp_rx = pcap_fp;
- }
#endif
+ if (!pcap_fp_rx)
+ pcap_fp_rx = pcap_fp;
pcap_setfilter(pcap_fp_rx, &pktfilter);
if (first && !pcap_fp) {
DEBUG(1, "WARNING: unable to open interface '%s'\n", ifname);