X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=package%2Fead%2Fsrc%2Fead.c;fp=package%2Fead%2Fsrc%2Fead.c;h=b6a9310f0fb3382d76ec109524d23806c1b1d49a;hb=6bb52080b451a44a71353bbb068226e3da3a6f97;hp=c4d3dd9f4164f7bf6c149a4096b950e9486e54cb;hpb=3f8c4c8439b49d982a25b82adfc8be04620fd2d5;p=openwrt%2Fstaging%2Fyousong.git 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);