diff options
-rw-r--r-- | pcap-bpf.c | 13 | ||||
-rw-r--r-- | pcap-dlpi.c | 7 | ||||
-rw-r--r-- | pcap-int.h | 4 | ||||
-rw-r--r-- | pcap-linux.c | 7 | ||||
-rw-r--r-- | pcap-nit.c | 7 | ||||
-rw-r--r-- | pcap-pf.c | 13 | ||||
-rw-r--r-- | pcap-snit.c | 13 | ||||
-rw-r--r-- | pcap-snoop.c | 13 | ||||
-rw-r--r-- | pcap.c | 11 |
9 files changed, 27 insertions, 61 deletions
@@ -20,7 +20,7 @@ */ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/libpcap/pcap-bpf.c,v 1.80 2004-10-05 07:23:39 guy Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/libpcap/pcap-bpf.c,v 1.81 2004-10-19 07:06:11 guy Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -545,15 +545,6 @@ bpf_open(pcap_t *p, char *errbuf) return (fd); } -static void -pcap_close_bpf(pcap_t *p) -{ - if (p->buffer != NULL) - free(p->buffer); - if (p->fd >= 0) - close(p->fd); -} - /* * We include the OS's <net/bpf.h>, not our "pcap-bpf.h", so we probably * don't get DLT_DOCSIS defined. @@ -978,7 +969,7 @@ pcap_open_live(const char *device, int snaplen, int promisc, int to_ms, p->getnonblock_op = pcap_getnonblock_fd; p->setnonblock_op = pcap_setnonblock_fd; p->stats_op = pcap_stats_bpf; - p->close_op = pcap_close_bpf; + p->close_op = pcap_close_common; return (p); bad: diff --git a/pcap-dlpi.c b/pcap-dlpi.c index 8e16906c..9a4cb313 100644 --- a/pcap-dlpi.c +++ b/pcap-dlpi.c @@ -62,7 +62,7 @@ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/libpcap/pcap-dlpi.c,v 1.107 2004-07-22 20:18:38 guy Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/libpcap/pcap-dlpi.c,v 1.108 2004-10-19 07:06:12 guy Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -432,10 +432,7 @@ pcap_inject_dlpi(pcap_t *p, const void *buf, size_t size) static void pcap_close_dlpi(pcap_t *p) { - if (p->buffer != NULL) - free(p->buffer); - if (p->fd >= 0) - close(p->fd); + pcap_close_common(p); if (p->send_fd >= 0) close(p->send_fd); } @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * @(#) $Header: /tcpdump/master/libpcap/pcap-int.h,v 1.64 2004-04-07 18:41:00 guy Exp $ (LBL) + * @(#) $Header: /tcpdump/master/libpcap/pcap-int.h,v 1.65 2004-10-19 07:06:12 guy Exp $ (LBL) */ #ifndef pcap_int_h @@ -260,6 +260,8 @@ int pcap_getnonblock_fd(pcap_t *, char *); int pcap_setnonblock_fd(pcap_t *p, int, char *); #endif +void pcap_close_common(pcap_t *); + /* * Internal interfaces for "pcap_findalldevs()". * diff --git a/pcap-linux.c b/pcap-linux.c index 3e0e37bd..3daa661e 100644 --- a/pcap-linux.c +++ b/pcap-linux.c @@ -27,7 +27,7 @@ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/libpcap/pcap-linux.c,v 1.109 2004-09-06 01:23:17 guy Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/libpcap/pcap-linux.c,v 1.110 2004-10-19 07:06:12 guy Exp $ (LBL)"; #endif /* @@ -1644,10 +1644,7 @@ static void pcap_close_linux( pcap_t *handle ) if (handle->md.device != NULL) free(handle->md.device); handle->md.device = NULL; - if (handle->buffer != NULL) - free(handle->buffer); - if (handle->fd >= 0) - close(handle->fd); + pcap_close_common(handle); } /* @@ -20,7 +20,7 @@ */ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/libpcap/pcap-nit.c,v 1.56 2004-03-23 19:18:06 guy Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/libpcap/pcap-nit.c,v 1.57 2004-10-19 07:06:13 guy Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -241,12 +241,9 @@ nit_setflags(int fd, int promisc, int to_ms, char *ebuf) static void pcap_close_nit(pcap_t *p) { - if (p->buffer != NULL) - free(p->buffer); + pcap_close_common(p); if (p->device != NULL) free(p->device); - if (p->fd >= 0) - close(p->fd); } pcap_t * @@ -24,7 +24,7 @@ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/libpcap/pcap-pf.c,v 1.87 2004-03-23 19:18:06 guy Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/libpcap/pcap-pf.c,v 1.88 2004-10-19 07:06:13 guy Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -279,15 +279,6 @@ pcap_stats_pf(pcap_t *p, struct pcap_stat *ps) return (0); } -static void -pcap_close_pf(pcap_t *p) -{ - if (p->buffer != NULL) - free(p->buffer); - if (p->fd >= 0) - close(p->fd); -} - /* * We include the OS's <net/bpf.h>, not our "pcap-bpf.h", so we probably * don't get DLT_DOCSIS defined. @@ -501,7 +492,7 @@ your system may not be properly configured; see the packetfilter(4) man page\n", p->getnonblock_op = pcap_getnonblock_fd; p->setnonblock_op = pcap_setnonblock_fd; p->stats_op = pcap_stats_pf; - p->close_op = pcap_close_pf; + p->close_op = pcap_close_common; return (p); bad: diff --git a/pcap-snit.c b/pcap-snit.c index 3b0801ed..447f343f 100644 --- a/pcap-snit.c +++ b/pcap-snit.c @@ -25,7 +25,7 @@ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/libpcap/pcap-snit.c,v 1.71 2004-03-23 19:18:06 guy Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/libpcap/pcap-snit.c,v 1.72 2004-10-19 07:06:13 guy Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -261,15 +261,6 @@ nit_setflags(int fd, int promisc, int to_ms, char *ebuf) return (0); } -static void -pcap_close_snit(pcap_t *p) -{ - if (p->buffer != NULL) - free(p->buffer); - if (p->fd >= 0) - close(p->fd); -} - pcap_t * pcap_open_live(const char *device, int snaplen, int promisc, int to_ms, char *ebuf) @@ -410,7 +401,7 @@ pcap_open_live(const char *device, int snaplen, int promisc, int to_ms, p->getnonblock_op = pcap_getnonblock_fd; p->setnonblock_op = pcap_setnonblock_fd; p->stats_op = pcap_stats_snit; - p->close_op = pcap_close_snit; + p->close_op = pcap_close_common; return (p); bad: diff --git a/pcap-snoop.c b/pcap-snoop.c index 18e4b6d2..7a27b10b 100644 --- a/pcap-snoop.c +++ b/pcap-snoop.c @@ -20,7 +20,7 @@ */ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/libpcap/pcap-snoop.c,v 1.53 2004-04-07 18:33:29 guy Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/libpcap/pcap-snoop.c,v 1.54 2004-10-19 07:06:14 guy Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -193,15 +193,6 @@ pcap_stats_snoop(pcap_t *p, struct pcap_stat *ps) return (0); } -static void -pcap_close_snoop(pcap_t *p) -{ - if (p->buffer != NULL) - free(p->buffer); - if (p->fd >= 0) - close(p->fd); -} - /* XXX can't disable promiscuous */ pcap_t * pcap_open_live(const char *device, int snaplen, int promisc, int to_ms, @@ -392,7 +383,7 @@ pcap_open_live(const char *device, int snaplen, int promisc, int to_ms, p->getnonblock_op = pcap_getnonblock_fd; p->setnonblock_op = pcap_setnonblock_fd; p->stats_op = pcap_stats_snoop; - p->close_op = pcap_close_snoop; + p->close_op = pcap_close_common; return (p); bad: @@ -33,7 +33,7 @@ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/libpcap/pcap.c,v 1.74 2004-03-24 19:50:54 mcr Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/libpcap/pcap.c,v 1.75 2004-10-19 07:06:14 guy Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -679,6 +679,15 @@ pcap_stats_dead(pcap_t *p, struct pcap_stat *ps) return (-1); } +void +pcap_close_common(pcap_t *p) +{ + if (p->buffer != NULL) + free(p->buffer); + if (p->fd >= 0) + close(p->fd); +} + static void pcap_close_dead(pcap_t *p) { |